create table [库名.]新的表名 like [库名.]参照表名; #根据参照表的表字段,创建一个新的表
insert into [库名.]新的表名 select * from [库名.]参照表名; #将参照表里的表记录复制到新的表上
#创建一个新的空数据表 create table school.class2 like class; #依据class表的表字段,创建一个相同表字段的新的空数据表 show tables; desc class2 select * from class2
#向空的数据表中导入数据(表字段和数值类型要一样) insert into class2 select * from class;
create table 库名.新表名 (select * from 库名.参照表名);
create table school.class3 (select * from school.class); select * from school.class3;
列式查看创建数据表的过程
show create table 表名 \G
show create table class \G
delete from [库名.]表名
delete 清除表的特点
delete 清空表后,返回结果内有删除的记录条目;
delete 工作时是一行一行的删除记录数据的;
如果表中有自增长字段,使用delete删除所有记录后,再次天剑的记录会从原来最大记录ID后面继续自增长写入
select * from number; #查看当前number 表记录 delete from number; #清空number 表 select * from number; #再查看,确认已经清空 insert into number value(); #向number 表中插入数据。number 表中的字段值是自增长的 select * from number; #再次查看number 表记录,发现其自增长字段的值是从之前最大的开始算
truncate table [库名.]表名
trunkcate 清空表的特点
trunkcate 清空白表后,没有返回被删除的条目;
truncate 工作时是将表结构按原样重新建立,因此速度上会比delete清空表快;
使用trunkcate清空表内数据后,ID会从1开始重新记录。
runcate table number; #清空number 表
create temporary table 表名(字段1 数据类型 约束类型 ,字段2 数据类型 约束类型.......);
临时表的特点
临时表创建之后,使用show databases; 命令时看不到创建的临时表的。
临时表会在退出后自动销毁。
在退出连接之前,也可以执行增删改查等操作,如,drop table 语句手动删除临时表
create temporary table test01(id int, name char(30)); show tables; insert into test01 value(1,'zhangsan'); select * from school.test01;