回顾
外键:关联关系(表与表之间,表中字段指向另外一张表的主键)
外键条件:字段类型必须一致,存储引擎必须为Innodb。
外键约束:
子表约束:不可插入父表不存在的数据。
父表约束:三种约束模式(默认district,cascade,set null)
经常使用的模式:on delete set null on update cascade
联合查询:union,多表合并和单表不同查询条件
联合查询使用order by;select 语句必须使用括号,还必须配合limit语句
子查询:查询语句中有查询语句
分类:按位置(from,where和exists),按返回的用途(结果):标量,列,行和表
视图:view
节省SQL语句:安全性控制
试图本质:虚拟表,有结构无数据
视图数据操作:多表只能改,单表可以增删改(增删有条件限制)
视图算法:undefined未定义,temptable临时表和merge合并算法。
文件备份以及还原
文件备份:存储引擎(myiasm适用)
单表数据备份:只能备份数据
SQL备份:备份的是SQL指令(mysqldump.exe客户端备份)
增量备份:备份系统日志文件
事务安全
事务transaction:一系列要发生的连续的操作。
事务安全:一种保护连续操作同时满足(实现)的一种机制。为了保证数据的完整性。
需求:有一张银行账户表,有A用户给B用户转账;A账户先减少,B账户增加,但是A操作完了之后断电了导致A减少了B没有增加。
-- 创建一个账户表
create table my_account(
number char(16) not null unique comment '账户',
name varchar(20) not null,
money decimal(10,2) default 0.0 comment '账户余额'
)charset utf8;
-- 插入数据
insert into my_account values
('0000000000000001','张三',1000),
('0000000000000002','李四',2000);