MySQL 数据库进阶命令
一、数据表高级操作
(1)克隆表,将数据表的数据记录生成到新的表中
方法一:
create table 新表名 like 旧表名; #通过 LIKE 方法,复制旧表结构生成新表
insert into 新表名 select * from 旧表名;
方法二:
CREATE TABLE 新表名 (SELECT * from 旧表名);
show create table 新表名\G #获取数据表的表结构、索引等信息
SELECT * from 新表名;
(2)清空表,删除表内的所有数据
方法一:
delete from 表名;
#DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;
如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。
方法二:
truncate table 表名;
#TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立
因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录。
(3)创建临时表
临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。
如果在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。
CREATE TEMPORARY TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
例:
##创建表
create temporary table test01 (
id int(4) zerofill primary key auto_increment,
name var