外键
一张表可以有多个外键
作用:确保引用的正确性
创建外键的方法
1、创建子表的同时创建外键
constraint 外键名 foreign key(列名) references 主表(列名);
2、创建子表完成后,修改子表添加外键
删除外键
1、删除外键
alter table drop 外键名;
2、删除索引
alter table drop index;
删除主外键的表:先删子表,再删主表
通过DML语句操作数据
1、添加数据:insert
2、修改数据:update
where中的运算符
3、删除数据:delete
使用delete删除所有数据后,重启数据库服务
1、对于InnoDB类型的表:自增列从初始值开始(原理:将自增值存储在内存中,重启服务器丢失数据)
2、对于MyISAM类型的表,自增列是从上一个自增数基础上开始(原理:将自增值存储在文件中,重启服务器不会丢失)
truncate命令:
delete 与truncate比较
**1、相同点:**都能删除数据,不删除表结构,但truncate更快
2、不同点:
delete
不会重置auto_increment计数器,自增依然从原来基础上进行,一行一行的删除数据,有删除日志
truncate
1、直接删除全部数据,不会有删除日志,谨慎使用
2、不会对事务有影响
3、不能删除有外键关系的表