一、克隆表
1)方法一
格式:
create table 新表名 like 旧表名; #通过LIKE方法,复制旧表的结构生成新表
insert into 新表名 select * from 旧表名; #再将旧表数据导入新表
create table yyy2 like yyy; #复制格式,通过LIKE方法,复制yyy表结构生成yyy2表
insert into yyy2 select * from yyy; #备份内容
克隆表,将数据表的数据记录生成到新的表中
CREATE TABLE test02 (SELECT * from test); #复制test 表数据到test02中
show create table test02\G #获取数据表的表结构、索引等信息
SELECT * from test02;
2) 方法二
create table 新表名 (select * from 旧表名);
二、查看表结构的三种方法
方法一
desc 表名; #以表格形式显示表结构
方法二
show create table 表名; #以创建表的命令形式显示表结构
方法三
desc 表名\G #如果字段较多,也可以使用"desc 表名\G"的方式竖向显示表结构
三、清空表、删除表的所以普数据
方法一:delete
delete from 表名; #DELETE清空表后,返回的结果内有删除的记录条目; DELETE 工作时是一行一行的删除记录数据的,删除时速度较慢; 如果表中有自增长字段,使用"DELETE FROM"删除所有记录后,新添加的记录会从原来最大的记录ID后面继续自增写入记录。
方法二:truncate
truncate table 表名; #相当于格式化,速度很快 #TRUNCATE清空表后,没有返回被删除的条目。 TRUNCATE 工作时是将表结构按原样重新建立,因此在速度方面 TRUNCATE 会比DELETE清空表快。 使用TRUNCATE TABLE清空表内数据后,ID会从1开始重新记录。。
四、创建临时表
- 临时表创建成功之后,使用"SHOW TABLES"命令是看不到创建的临时表的,临时表会在连接退出后被销毁。
- 如果在退出连接之前,也可以执行增删改查等操作,比如使用"DROP TABLE"语句手动直接删除临时表。
- 临时表一般用于测试使用,只有当前连接的用户才能看到,相同用户换个终端登录也看不到。退出当前连接(退出数据库)之后临时表会被销毁。
格式:
CREATE TEMPORARY TABLE 表名(字段1 数据类型,字段2 数据类型[, ...] [, PRIMARY KEY (主键名)]);
五、创建外键约束,保证数据的完整性和一致性
外键的定义: 如果同一个属性字段x在表一中是主键,而在表二中不是主键,则字段x称为表二的外键。
外键的作用:
-
为了一张表记录的数据不要太过冗余。
-
保持数据的一致性、完整性。
主键表和外键表的理解:
(1)以公共关键字作主键的表为主键表(父表、主表)
(2)以公共关键字作外键的表为外键表(从表、外表)
注意:
- 与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主从表的字段具备相同的数据类型、字符长度和约束。
- 添加外键时必须关联主键(即主表先要添加主键,之后从表再添加外键)