type
status
date
slug
summary
tags
category
icon
password
一、Mysql服务的登录和退出
二、Mysql的常见命令(数据库操作)
三、Mysql的语法规范
四、DQL语言学习
(data query language 查询语言)
4.1、基础查询
select 查询列表 from table
查询列表: 表中的字段、常量、表达式、函数
4.2、条件查询
select 查询列表 from table where 筛选条件
4.3、排序查询
select 查询列表 from table order by 排序列表 【asc /升序 desc/降序 】
- asc /升序 desc/降序
- order不要可以支持单个字段,多个字段,函数,别名
- order by 一般放在查询语句的最后
4.4、常见函数
4.4.1、单行函数
4.4.2、分组函数
- 用于统计使用,又称聚合函数
- sum求和、avg平均数、max最大值、min最小值、count计算个数
4.5、分组查询
select 查询列表 from table group by 分组函数
- 分组前筛选使用where ,分组后筛选使用 having
4.6、连接查询
4.6.1、sql92语法
- 等值连接
- 非等值连接
- 自连接
4.6.1、sql99语法
- 内连接
- 外连接
- 左外连接,left join 左边的是主表
- 右外连接,right join 右边的是主表
4.7、子查询
内部嵌套其他select语句的查询,称为外查询或主查询
4.7.1、列子查询
4.7.2、from后面,表查询
4.8、分页查询
select 查询列表 from table limit offset , size
- offset 要是显示条目的起始索引
- size 要显示的条目个数
4.9、union联合查询
语法:
应用场景:
- 查询结果来自于多个表,且多个表之间没有直接的连接关系,但查询的信息一致
- 默认去重,不去重则 union all
五、DML语言学习
data manage language 操作语言,增删改
5.1、插入语句
- insert into 表名 (列名,.......) value(值1,.......)
- insert into 表名 set 列名=值,列名=值,....
5.2、修改语句
5.2.1、修改单表
5.3、删除语句
六、DDL语言
数据定义语言,表和库的管理
6.1、库的管理
创建、修改、删除
6.2、表的管理
创建、修改、删除
- 表的创建
- 表的修改
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】
- 表的复制
CREATE TABLE copy LIKE 表名
七、约束
- NOT NULL : 非空,用于保证该字段的值不为空
- DEFAULT: 用于保证该字段具有默认值
- PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空
- UNIQUE:唯一,用于保证该字段具有唯一性,可以为空
- CHECK: 检查约束【mysql中不支持】
- FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自主表的关联的值
主键与唯一得区别:
主键和唯一都可以保证唯一性,但是主键不能为空,唯一允许为空
- 标志列:自增长列 (AUTO_INCREMENT)
一个表至多一个标识列,且必须为数值类型
八、TCL语言
Transaction Control Language 事务控制语言
8.1、事务的ACID属性
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
8.2、并发读出问题
- 脏读:一个事务T1读取了另一个事务T2未提交的字段,若T2回滚,则T1读取的数据无效
- 不可重复读:两个事务T1,T2都读取了同一字段,T2对字段进行修改,如果T1再次读取同一字段,值就不同了
- 幻读:两个事务T1,T2都读取了同一字段,T2对表进行插入新行,如果T1再次读取同一个表,则多出几行
8.3、事务的隔离级别
- READ UNCOMMITED
- READ COMMITED
- REPEATABLE READ
- SERIALIZABLE (串行化)
九、视图
9.1、视图的创建
9.2、视图的删除
9.3、查看视图
9.4、视图的更新
十、全局变量
10.1、全局变量
十一、存储过程
11.1、创建语法
- Author:Josue
- URL:https://kakarot.cc/article/Mysql-2
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!