江某人:
mysql:
约束是用来保证数据的完整性。
单表约束:
主键约束
唯一约束
非空约束
多表设计:
一对多:在多的一方创建外键指向一的一方的主键.
多对多:创建中间表,中间表至少两个字段,分别指向双方主键.
一对一(很少用):将一对一的双方的主键建立映射.
交叉连接:select * from A,B; --- 获得的是两个表的笛卡尔积
内连接:
隐式内连接:select * from A,B where 条件;
显式内连接:select * from A inner join B on 条件;
外连接:
左外连接:left outer join -- select * from A left outer join B on 条件;
右外连接:right outer join -- select * from A right outer join B on 条件;
事务三步骤
开启事务:
start transaction;
提交事务
commit;(也等于关闭事务)
回滚事务
rollback;(在没关闭当前事务都能回滚到开启事务前)
设置事务的隔离级别:
read uncommitted :脏读,不可重复读,虚读都有可能发生
read committed :避免脏读。但是不可重复读和虚读是有可能发生
repeatable read :避免脏读和不可重复读,但是虚读有可能发生。
serializable :避免脏读,不可重复读,虚读。
设置事务隔离级别格式
SET SESSION TRANSACTION ISOLATION LEVEL 事务隔离级别; |