• mysql初识


    初识数据库

    关于数据的存储

    回忆我们之前的数据操作时怎么做的:

    最初:就是随意的存到了一个文件里,数据的格式也是千差万别的

    后来:了解了软件开发目录规范,它规定了数据存放的位置。

    现在:在学过了网络编程之后我们想到应该让数据存到一个公共的地方,这样所有用户涉及到的数据都需要来这里查找。

    数据库之MySQL

    本质它就是一款基于网络通信的应用软件,任何基于网络通信的软件底层都是socket。

    服务端

    ——基于socket通信

    ——收发消息

    ——SQL语句(是一个公共的标准)

    客户端

    ——基于socket通信

    ——收发消息

    ——SQL语句

    ps:MySQL不单单支持MySQL的客户端来操作,也支持其他编程语言直接操作(python、java、c++、php等,即使他们的语法都不一样,但只要通过SQL语句一样可以进行操作)

    DBMS:数据库管理系统

    关系型数据库

      数据与数据之间可以有关联和限制的,关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候,第一步就是确定表结构。(常用的关系型数据库有MySQL,oracle,sqlite,db2,sql server)

    #字段有特定的类型
    #存名字用字符串
    #存密码用数字
    #存生日用日期

    非关系型数据库

      通常都是以k,v键值的形式,存储数据,常用的有(redis,mongodb(文档型数据库,非常接近关系型的非关系型数据库),memcache)

    MySQL

    MySQL其实可以把它看成一款支持原创操作文件的软件

    库>>>文件夹

    表>>>文件

    记录>>>文件内一行行的数据叫做一条条的记录

    表头:就是表格的第一行数据

    字段:字段名+字段类型

    安装MySQL

    #基本流程(要明确在IT行业的基本守则,不要轻易尝试最新版本的软件)
    
    #①下载
    #在官网上下载,下载后是一个压缩包,包里其实将MySQL的服务端和客户端都下载了下来
    #之后常规的解压和查看文件目录
    
    #服务端是mysqld
    #客户端是mysql
    #启动mysql
    #1.切换到bin目录下
    #2.执行mysqld
    #要注意:做前期MySQL配置的时候,终端建议你用管理员的身份运行
    #windows+r启动的是普通用户
    #mysql在初始登陆的时候 是没有密码的 直接回车即可
    #mysql中的sql语句 是以分号结束的 不敲分号 默认你没有输入完客户端还会让你继续输入

    制作环境变量:

      将启动文件所在的路径添加到系统的环境变量中

      注意:配置完之后一段要重新启动mysql服务端以及cmd终端

    将mysqld制作成系统服务:
      制作系统服务 你的cmd终端一定要是管理员身份

      mysqld --install

    配置文件:
      s查看 mysql服务端简单配置
      通常情况下配置文件的后缀都是ini结尾

      mysql自带的配置文件不要修改
      但是你可以新建一个配置文件 my.ini
      mysql服务端在启动就会自动加载你的my.ini配置文件内的配置

      修改完配置文件之后需要先将服务端停止 重新启动 才能生效

      修改了配置文件一定要重启服务端

    一些基本的语句

    #客户端登陆
    mysql -h 127.0.0.1 -P 3306 -uroot -p
    #可以简写
    mysql -uroot -p
    
    #如果不输入用户名和密码 默认是访客模式登陆 所能用到的功能很少
    
    #客户端退出登陆
    exit;
    quit;
    #查看所有的数据库
    show databases;
    
    #查看某个进程
    tasklist |findstr 名称
    
    #杀死进程
    taskkill /F /PID 进程号

    管理员密码的操作

    修改密码

    #没有密码的情况下
            mysqladmin -uroot -p password 123
    #有密码的情况下
            mysqladmin -uroot -p123 password 123456  # -p后面是原来的密码,password后面是新密码
    #当命令输入错误的时候  可以用c取消前面的命令  cancel

    破解密码

    #现将已经启动的服务端停掉
    
    #1.跳过用户名和密码的验证功能 启动服务端 
        mysqld --skip-grant-tables
    # 启动服务端 跳过授权表
    #2.修改管理员用户对应的密码 
        update mysql.user set password=password(123) where user='root' and host='localhost'; 
    #3.关闭当前服务端 重新以校验用户名密码的方式启动
    #4.正常以用户名密码的方式 连接mysql服务端

     数据库的基本操作

    库(类似于文件夹)

    #
        create database db1;  # 新建一个库
    #
        show databases;  # 查所有
        show create database db1;  # 查单个
    #
        alter database db1 charset='gbk';  # 修改编码
    #
        drop database db1;  # 删库

    表(在创建表的时候,需要先指定库)

    #指定库
        use 库名
    #查看当前所在的库
        select database()
    #
        create table userinfo(id int,name char);
    #
        show tables;  # 查看某个库下面的所有表
        show create table userinfo;  # 查看某个创建的表
        desc userinfo;<==>describe userinfo;  # 获取表结构
    #
        alter table userinfo modify name char(32);  # 修改某个属性
    #
        drop table userinfo;

    记录(先创建一个库或者制定一个已存在的库,切换到该库下,创建表,然后再操作记录)

    create database db1;  # 创建库
    create table userinfo(id int,name char(32),password int);  # 创建表
    
    #
        insert into userinfo values(1,'jason',123);  # 插入单条数据
        insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123);  # 插入多条数据
    #
        select * from userinfo;  # 查询所有的字段信息
        select name from userinfo;  # 查询指定字段的信息
        select id,name from userinfo where id=1 or name='tank';  # 带有筛选条件的字段信息
    #
        update userinfo set name='kevin' where id=1;  # 修改数据的一个字段信息
        update userinfo set name='jason',password=666 where id=1;  # 修改数据的多个字段
    #
        delete from userinfo where id=1;  # 指定删符合条件的数据    
        delete from userinfo;  # 将表中的数据全部删除                   
        
  • 相关阅读:
    网络编程
    反射函数与元类
    面向对象进阶
    对象的封装与接口
    对象继承
    面向对象
    包,logging模块与haslib模块
    闭包函数及装饰器
    函数对象、函数的嵌套、名称空间及作用域
    函数简介及函数参数介绍
  • 原文地址:https://www.cnblogs.com/wangnanfei/p/11366063.html
Copyright © 2020-2023  润新知