mysql基础(下)
DDL语言学习
数据定义语言
库的管理
表的管理
表的修改
表的复制
数据类型介绍
整型
UNSIGNED
无符号,禁止负数
ZEROFILL
零填充,长度余部被零填充
小数
字符型
ENUM 枚举型,只能插入创建时指定的字符,非指定字符的插入为空
SET 在枚举型的基础上插入多个
日期型
常见约束
添加列级约束
列级中,check 无意义,外键无意义
添加表级约束
主键和唯一的对比
保证唯一性 | 是否允许为空 | 一个表可以有多少个 | 是否允许组合 | |
---|---|---|---|---|
主键索引 | √ | × | 至多有一个 | √,但不推荐 |
唯一索引 | √ | √ | 可以有多个 | √,但不推荐 |
外键的特点
先插入主表数据,后插入从表数据
修改表添加约束
删除约束
标识列,自增长列
TCL语言学习 事务控制
事务的介绍
Transaction Control Language
事务控制语言
事务的创建
事务的并发问题,事务的隔离级别
- 脏读对应查询数据时读取的是其他事务还未提交的数据
- 不可重复读指在一次事务中,读取了两次数据,因为第一次读取在其他事务的进行中还未提交,导致了两次读取不一致
- 幻读指,事务开始前可能有三行数据要修改,修改途中,其他事务又插入了数据,导致修改了更多行
事务的隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
read uncommitted | √ | √ | √ |
read commited (oracle 默认) | × | √ | √ |
repeatable read(mysql 默认) | × | × | √ |
serializable | × | × | × |
设置节点,保存点
delete 是可以回滚的
truncate 无法回滚
视图的介绍
创建视图
视图的修改
视图的更新
对视图表中的数据插入、修改、删除,原始表数据会一同改变
具备以下几点视图不会被更新
变量
系统变量:
- 全局变量
- 会话变量
自定义变量:
- 用户变量
- 局部变量
系统变量
全局变量
会话变量
自定义变量
局部变量
存储过程和函数
存储过程的语法
调用语法
CALL myp1() $
带OUT列表参数的
带两个OUT的
INOUT的参数列表
删除和查看存储过程
存储过程中的实现无法修改;
只能show查看;
存储过程案例分析
函数的介绍
函数创建和调用语法
案例演示
函数的查看和删除
流程控制结构
分支结构
循环结构
经典案例:已知表stringcontent,其中字段。id 自增长,content varchar(20),向该表插入指定个数的随机字符串。