一、MySQL安装

  • 下载地址 https://dev.mysql.com/downloads/mysql/

    1. 下载之后选择第一个免安装版解压即可<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/365532/1604321282685-e7f1ca43-37d8-40d5-83fa-347a775f2548.png#align=left&display=inline&height=414&margin=%5Bobject%20Object%5D&name=image.png&originHeight=828&originWidth=1222&size=127921&status=done&style=none&width=611)
  • 添加配置文档 在安装目录新建一个my.ini文件,用记事本打开添加以下下内容并保存

    1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/365532/1604321530688-84f0507b-9342-47d9-ae46-ca85fdb4fbd1.png#align=left&display=inline&height=147&margin=%5Bobject%20Object%5D&name=image.png&originHeight=293&originWidth=760&size=25945&status=done&style=none&width=380)
  • 添加环境变量

    1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/365532/1604321585108-ad3b90d8-7072-4337-9938-a2c6865850a1.png#align=left&display=inline&height=78&margin=%5Bobject%20Object%5D&name=image.png&originHeight=155&originWidth=614&size=12075&status=done&style=none&width=307)

    二、使用

  • 以管理员身份运行cmd

a. 方法一 使用win+r在运行行输入cmd回车之后输入命令 :runas /user:administrator “cmd /k”
b. 方法二在开始界面找到Windows系统—命令提示符 右击选择管理员是身份运行
image.png

  • 初始化MySQL 注意记一下初始密码(password:~)

    1. 输入命令 mysqld -initiallize
  • 注册MySQL服务

输入命令: mysqld -install #默认名为MySQL 可以在后面起个名字

  • 启动服务

net start MySQL

  • 登录

mysql -h localhost -u root -p

  • 修改一下初始密码便于几一

alter user ‘root’@’localhost’ idebtified with mysql_native_password by ‘密码’

三、数据库存储引擎

image.png
image.png

四、数据库常用命令

  • 创建数据库

    1. create database [数据库名]
  • 显示所有数据库

    1. show databases;
  • 直接删除数据库

    1. drop database [数据库名];
  • 显示版本

    1. select version();
  • 服务器当前时间

    1. select current_date;
  • 选定数据库

    1. use database [数据库名];
  • 显示表

    1. show tables;

    五、数据类型

  • INT

  • BEGINT
  • CHAR -定长字符串
  • VARCHAR -可变字符串
  • FLOAT
  • DOUBLE
  • DECIMAL(M,D) - 字符串形式浮点数,整数部分M长度小数部分D长度
  • DATE - YYYY-MM-DD 日期
  • DATETIME - YYYYMMDD HHMMSS 日期时间
  • BLOB
  • TEXT

~~~

六、约束条件

四种完整性约束:域、实体、自定义、引用

  • PRIMARY KEY 主键约束 唯一标识 实体完整性
  • FOREIGN KEY 外键约束 关联另一张表主键 引用完整性
  • NOT NULL 非空约束
  • UNIQUE 唯一性约束
  • AUTO_INCREMENT 自增
  • DEFAULT 默认值
  • CHECK 检查

    七、通配符

  • % 表示任意数量的任意字符

%qzw% 表示包含qzw
qzw%d 表示以qzw开头的任意字符

  • _ 表示一个长度的字符

q 以q开头的两个字符
_q
_q

八、语法

创建表

  1. drop table if exists [表名]; #若存在[表名]则删除
  2. create table [表名](
  3. 字段一 数据类型 [字段属性][约束条件][索引][注释],
  4. 字段二 数据类型 [字段属性][约束条件][索引][注释],
  5. ...
  6. 字段n 数据类型 [字段属性][约束条件][索引][注释]
  7. )[表类型][字符集][注释];

显示表信息

  1. describe [表名];
  2. desc [表];

删除表

  1. drop table [表];

插入数据

  • 字段名是可选的,如省略则依次插入所有字段
  • 多个列表和多个值之间用使用逗号分隔
  • 值列表和字段名列表一一对应
  • 如插入的是表中的部分数据字段名列表必填 ```c

    插入单条

    insert into [表] ([列]) values([值]);

    括号里面填写列的名字 后面values对应值 , 全部插入可以不用写([列]) 用逗号隔开

插入多条

inster into [表] ([列]) values([值]),([值]),([值]),([值])~~~;

  1. <a name="PSWkO"></a>
  2. ## 像创建建的表中加入已经存在表的数据
  3. ```c
  4. create table [表](
  5. select [原字段] sa [新字段] from [原表]
  6. );

修改表

修改名称

  1. alter taba [表] rename to [新名字];

增加字段

  1. alter table [表] add 字段名 数据类型;

修改字段

  1. alter table [表] change 原字段 新字段 数据类型 属性;

删除字段

  1. alter table [表] drop [字段];

修改某个字段可以为空

  1. alter table [表] modify [字段]类型 null;

添加主键

  • 主键唯一

    1. alter table [表] add constraint [键名] primary key [表][要添加的主键字段];

    修改表的存储引擎

    1. alter table [表] engine=[引擎];

    添加外键

    1. alter table add constraint [外键名] foreign key (外键字段) references [关联表名] (关联字段);

    更新/删除

    更新

    1. #更新
    2. update [表]
    3. set 字段1 = 1,字段2 = 2,字段3=值3.....
    4. where [条件]

    删除

    1. delete from [表] while [条件];
    2. #所有清空
    3. delete from [表];

    清空表

    1. truncate table [表];

    运算符

  • 不等号通常使用<>

image.png

操作符

  • like
  • betweeb-and
  • is null

    1. #关于between-and 在-之间
    2. between 时间/日期a and 时间/日期b;
    3. 在区间[a,b]之间
    1. #字符串为空与is null 不一样
    2. #在允许为空的字段下条件要用is null
    3. #不为空 is not null
    4. select *from [表] where [字段] is null;

    ORDER BY

  • 按照单列或多列对结果集排序

  • 按照升序或则降序对不同的结果集排序
  • ASC表示升序 DESC表示降序, 若没有指定排序方式默认ASC

    简单的查询

    1. select [列|表达式|函数|常量]
    2. from [表]
    3. where [条件]
    4. order by [列] asc|desc;

    as

  • as 从数据库出来列的别名

  • 多表查询给表起别名

    1. sekect [表] as [别名]

    concat

  • 字符串连接

  • 不能使用+ 拼接
    1. #字符1,3,中间拼接2
    2. select concat(1,2,3) from [表];

    常用聚合函数

    image.png ```c

    示例

    select avg([列]) as [名] from [列];

count 返回非空列的总数

```

INSTER()

  • inster(s1,a,b,s2);
  • 字符串替换函数
  • 在s1中从a开始到b结束用s2替换 从1开始且包含a,b

LOWER()

  • 将字符串转为小写

    UPPER()

  • 将字符串转为大写

    SUBSTRING()

  • 字符串截取

  • substring(str,pos,len);

    时间日期函数

    image.png

    数学函数

    image.png