目录
一.克隆表
法一
mysql> create table ouou1 like ouou;
复制格式,通过LIKE方法,复制ouou表结构生成ouou1表
但是不备份内容
mysql> insert into ouou1 select * from ouou;
法二
mysql> create table ouou2(select * from ouou);
可以将表的内容都克隆到新表中,但是表格式可能会丢失。
二.清空表
法一 delete
mysql> delete from ouou1;
DELETE清空表后,返回的结果内有删除的记录条目;
只清空表的内容,不删除表
法二 truncate
mysql> truncate table ouou1;
TRUNCATE清空表后,没有返回被删除的条目: TRUNCATE 工作时是将表结构按原样重新建立
法三 drop
mysql> drop table ouou1;
总结
delete from ouou1;
- 属于DML
- 可回滚(可恢复)
- 可带where
- 表结构在,表内容要看where执行的情况
- 册删除速度慢,需要逐行删除
truncate table ouou1;
- 属于DDL
- 不可回滚
- 不可带where
- 表内容删除
- 删除速度快
drop table ouou1;
- 属于DDL
- 不可回滚(无法恢复)
- 不可带where
- 表内容和结构删除
- 删除速度快
删除速度 drop> truncate > delete
安全性 delete 最好
三.创建临时表
mysql> create temporary table ouou1 (id int(4) not null primary key,name varchar(20),age int(4));
没有真正写入磁盘中,只是存在内存中,当退出数据库之后再查看临时表就没有记录了。
临时表无法创建外键
四.外键约束
设置外键
mysql> alter table stu add foreign key (proid) references pro (pid);
将主表的主键和外表的外键联系起来。这两个的这两个字段必须设置为相同的数据类型,字符长度和约束。
模拟错误
此时就会有外键错误