一、克隆表,将数据表的数据记录生成到新的表中
方法1:先克隆表结构,再导入表数据。
格式:
create table 新表名 like 旧表名; #通过LIKE方法,复制旧表的结构生成新表 insert into 新表名 select * from 旧表名; #再将旧表数据导入新表 复制代码
示例:
create table tt02 like tt01; #通过tt01表克隆一个tt02表,这样只克隆表结构,没有表数据 insert into tt02 select * from tt01; #将tt01的表数据导入tt02中 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
方法2:创建新表的同时,导入旧表数据。
格式:
create table 新表名 (select * from 旧表名); 复制代码
示例:
create table tt03 (select * from tt01); #创建tt03表的同时,导入tt01表的数据 复制代码
网络异常,图片无法展示
|
二、查看表结构的三种方法
方法一: desc 表名; #以表格形式显示表结构 方法二: show create table 表名; #以创建表的命令形式显示表结构 方法三: desc 表名\G #如果字段较多,也可以使用"desc 表名\G"的方式竖向显示表结构 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
三、清空表,删除表内的所有数据
方法一:delete
delete from 表名; #DELETE清空表后,返回的结果内有删除的记录条目; DELETE 工作时是一行一行的删除记录数据的,删除时速度较慢; 如果表中有自增长字段,使用"DELETE FROM"删除所有记录后,新添加的记录会从原来最大的记录ID后面继续自增写入记录。 示例: #delete删除所有数据后,新添加的记录id字段值会在原有的13基础上递增1,即增长为14。 insert into tt02(cardid,hobby) values(1101,'running'); 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
方法二:truncate
truncate table 表名; #相当于格式化,速度很快 #TRUNCATE清空表后,没有返回被删除的条目。 TRUNCATE 工作时是将表结构按原样重新建立,因此在速度方面 TRUNCATE 会比DELETE清空表快。 使用TRUNCATE TABLE清空表内数据后,ID会从1开始重新记录。 示例: #truncate删除所有数据后,新添加的记录ID会从1开始重新记录。 insert into tt02(cardid,hobby) values(1101,'running'); 复制代码
网络异常,图片无法展示
|
四、创建临时表 TEMPORARY
- 临时表创建成功之后,使用"SHOW TABLES"命令是看不到创建的临时表的,临时表会在连接退出后被销毁。
- 如果在退出连接之前,也可以执行增删改查等操作,比如使用"DROP TABLE"语句手动直接删除临时表。
- 临时表一般用于测试使用,只有当前连接的用户才能看到,相同用户换个终端登录也看不到。退出当前连接(退出数据库)之后临时表会被销毁。
格式:
CREATE TEMPORARY TABLE 表名(字段1 数据类型,字段2 数据类型[, ...] [, PRIMARY KEY (主键名)]); 复制代码
示例:
create temporary table test01 ( #创建临时表test01 id int(4) zerofill primary key, name varchar(10) not null, cardid int(18) not null unique key, hobby varchar(50)); show tables; #使用"show tables"查看不到临时表 insert into test01 values (1,'张三',123456,'running'); #向临时表中插入数据 select * from test01; #查看临时表的数据,可以查看到 quit #退出mysql #退出数据库后重新进入,查看临时表数据,提示表不存在。临时表会在连接退出后被销毁。 select * from test01; 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|