克隆表
格式:
create table 新表名 like 旧表名;
#克隆表
insert into 新表名 like 旧表名;
#将旧表数据导入到新表中
create table test2 (select * from test);
#克隆表的同时将旧表数据导入到新表中
查看表结构
方法一:
desc 表名;
#以表格形式显示表结构
方法二:
show create table 表名;
#以创建表的命令形式显示表结构
方法三:
desc 表名\G
#如果字段较多,也可以使用"desc 表名\G"的方式竖向显示表结构
清空表,删除所有表结构
delete:
delete from 表名;
#一行一行删除,并返回删除记录条目;删除时间较久
#如果表中有自增长字段,使用"DELETE FROM"删除所有记录后,新添加的记录会从原来最大的记录ID后面继续自增写入记录。
truncate:
truncate table 表名;
#相当于格式化,不返回删除记录条目,删除速度较快
#使用TRUNCATE TABLE清空表内数据后,ID会从1开始重新记录。
创建临时表
-
临时表创建成功之后,使用"SHOW TABLES"命令是看不到创建的临时表的,临时表会在连接退出后被销毁。
-
如果在退出连接之前,也可以执行增删改查等操作,比如使用"DROP TABLE"语句手动直接删除临时表。
-
临时表一般用于测试使用,只有当前连接的用户才能看到,相同用户换个终端登录也看不到。退出当前连接(退出数据库)之后临时表会被销毁。
创建外键约束,保证数据的完整性和一致性
外键的定义: 如果同一个属性字段x在表一中是主键,而在表二中不是主键,则字段x称为表二的外键。
外键的作用:
- 为了一张表记录的数据不要太过冗余。
- 保持数据的一致性、完整性。
主键表和外键表的理解:
(1)以公共关键字作主键的表为主键表(父表、主表)
(2)以公共关键字作外键的表为外键表(从表、外表)
注意:
- 与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主从表的字段具备相同的数据类型、字符长度和约束。
- 添加外键时必须关联主键(即主表先要添加主键,之后从表再添加外键)
创建主键表和外键表
create table test4 (cid int,cname varchar(10));
#创建主键表
create table test5 (id int,name varchar(10),age int,test4 int);
#创建从键表
alter table test4 ADD constraint PK_CID parimary key (cid)
#为主键的cid创建一个主键约束
alter table test5 ADD constraint
删除主键表中的数据记录
delete from 外键表 where 外键表中相关联的主键字段
#先删除外键
delete from 主键表 where 要删字段的cid号
#再删除主键,不先删除外键无法删除主键数据
查看和删除外键约束
show create table 外键;
desc 外键;
#查看外键
alter table 外键 drop foreign key 使用的约束;
#删除约束,但是不会消失,因为别名还存在
alter table 外键 drop key 约束;
#删除别名,删除完成