MySQL高级操作

目录

一.克隆表

法一

法二 

二.清空表

法一 delete

法二 truncate

法三 drop

总结

三.创建临时表

四.外键约束

设置外键


一.克隆表

法一

mysql> create table ouou1 like ouou;

复制格式,通过LIKE方法,复制ouou表结构生成ouou1表

但是不备份内容

MySQL高级操作

mysql> insert into ouou1 select * from ouou; 

MySQL高级操作

法二 

 mysql> create table ouou2(select * from ouou);

可以将表的内容都克隆到新表中,但是表格式可能会丢失。

MySQL高级操作

二.清空表

法一 delete

mysql> delete from ouou1;

DELETE清空表后,返回的结果内有删除的记录条目;

只清空表的内容,不删除表

MySQL高级操作

MySQL高级操作

法二 truncate

mysql> truncate  table ouou1;

TRUNCATE清空表后,没有返回被删除的条目: TRUNCATE 工作时是将表结构按原样重新建立

MySQL高级操作

MySQL高级操作

法三 drop

mysql> drop table ouou1;

MySQL高级操作

总结

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高级操作

MySQL高级操作

 临时表无法创建外键

四.外键约束

设置外键

mysql> alter table stu add foreign key (proid) references pro (pid);

将主表的主键和外表的外键联系起来。这两个的这两个字段必须设置为相同的数据类型,字符长度和约束。

MySQL高级操作MySQL高级操作

MySQL高级操作 MySQL高级操作

模拟错误

此时就会有外键错误MySQL高级操作

上一篇:JavaScript 中到底有什么是可以销毁的


下一篇:C++学习笔记 2