Mysql
Mysql
MR.XSSMysql数据库
DDL-数据定义语言
操作数据库
操作数据库表
创建表
数据类型
- 字符串型
- 数值类型
- 日期类型
修改表
DML-数据操作语言
插入-INSERT
修改-UPDATE
删除-DELETE
DQL-数据查询语言
DQL-基本查询
DQL-条件查询
DQL-分组查询
DQL-聚合函数
DQL-分组查询
DQL-排序查询
DQL-分页查询
DQL-执行顺序
DCL-数据控制语言
主要管理数据库的数据访问权限,管理数据库的用户
DCL-管理用户
创建一个用户在任何主机可以访问,可以将@localhost换成@%
DCL-权限控制
函数
字符串函数
数值函数
日期函数
注:DATE_ADD()方法
INTERVAL 是固定的,expr时间隔多少,type时间隔类型
流程函数
约束
概念:约束时作用于表中字段上的规则,用于限制存储在表中的数据
目的:保证数据库中数据的正确、有效和完整性
分类
示例
外键约束
- 概念:外键是让两张表的数据之间建立联系,从而保证数据的一致性和完整性
语法
添加外键
删除和更新行为
设置行为
多表查询
概述
一对多
多对多
一对一
多表查询概述
概述:在多张表中进行数据查询
多表查询分类
内连接语法
注:显式内连接的inner可以省略
外连接
外连接查询语法
自连接
自连接也可以是左外连接或者右外连接
联合查询
union all:直接将两次查询的结果进行合并拼接
union:将两次查询出来的结果集进行去重拼接
对于联合查询来说,查询出来的列数量必须保持一致,并且字段类型也要一样
子查询(嵌套查询)
概念:SQL中的嵌套select语句,称为嵌套查询,又称子查询
分类
标量子查询
列子查询
行子查询
表子查询
事务
事务简介
MySQL事务是默认提交的 默认为隐式提交
事务操作
在出现异常之后,需要回滚,因为异常之前的sql已经执行,会和下次的sql一起提交,会造成数据的混乱
第一种
改变事务的提交方式
第二种
开启事务,不会改变事务的提交方式
事务的四大特征(ACID)
并发事务问题
脏读
一个事务可以读取到另外一个事务的数据
不可重复读
事务在一个事务中,执行相同的查询语句,在本事务中没有改变数据的情况下,两次查询的结果不一样
幻读
在解决了不可重复读的基础上,事务A第一次查询为空,事务B在事务A执行之后,向数据库中插入,事务A第一次查询为空,但是在插入的时候ID为主键,会插入失败,然后事务A在插入失败后,继续查询,此时已经解决了不可重复读问题,此时查询还是空的,这时就发现,这一条数据就好像 “幻影” 一样存在,称之为幻读
事务的隔离级别(解决并发产生的事务问题)
分类
叉号表示解决了对应的事务问题
oracle的事务隔离级别默认为 Read Committed
事务的隔离级别越高,数据越安全,速度越慢