约束条件 表之间的关系
约束条件:
not null default unique 单列唯一,联合唯一
primary key 主键,用于唯一标识表中的一个数据 等同于not null unique
auto_increment primary_key通常连用,且通常给ID字段加,auto_increment只能给定义成key字段加
约束除了数据类型以外额外的约束条件 它保证了数据的完整性,合法性
foreign key (dept_id)references dept (id)
添加外键时,被关联的表需要被先创建;主表数据线插入,从表数据后插入;在删除主表数据之前要确保从表数据都被删除了;
加上外键之后 主表中数据删除和更新都收到了限制,解决方案是添加联极操作
on update cascade
on delete cascade
清空表操作:可以用delete from table 这样只会将表中的所有记录都删除掉,但不会将id重置为0
所以可以使用 truncate table 来清空表,重置表
所有的数据存放在同一个表中会出现以下几个问题:
1 浪费空间,但是不是主要的原因
2 结构混乱
3 修改数据时 扩展性极差
建立外键关联,必须先创建主表;
极联操作,一是联极更新,指的是主表更新时从表同步更新on update cascade
二是联极删除,指的是主表删除时从表同步删除on delete cascade
复制表:
create table table_copy select * from t1:
复制数据和表结构 但是不会复制key
只想复制表结构
create table table_copy select * from t1
where 0=1;
给一个不成立的条件这样的话就会查不到任何的数据