1.克隆表的结构
克隆表会创建一个与原表类似的表,拥有相同的列,但不会克隆原表的数据以及使用的索引(外键)
CREATE TABLE new_table LIKE old_table
添加全部数据或者添加符合条件的数据
//添加原表的所有数据到新表 INSERT INTO new_table select * FROM old_table; //添加一部分 INSERT INTO new_table select * FROM old_table WHERE id > 10;
2.将查询结果存入到一个表中(列的类型应该一样)
有数据的表: src_table,目标表 : work_table
//将src_table的查询结果赋值给work_table,列一一对应 INSERT INTO work_table(i,s) SELECT age,name FROM src_table //插入所有数据 INSERT INTO work_table SELECT * FROM src_table //插入一部分数据 INSERT INTO work_table SELECT * FROM src_table WHERE name like 'A%';
如果work_table不存在,则应使用 CREATE TABLE ... SELECT 语句将查询结果直接存入到表内
//建表并插入查询数据 CREATE TABLE work_table SELECT * FROM src_table //复制其中的某些列 CREATE TABLE work_table SELECT b,d FROM src_table //如果新表不止包含查询到的字段,也想加一些别的字段 CREATE TABLE work_table ( id int not null auto_increment, primary key(id) ) SELECT b,d FROM src_table // 添加索引 CREATE TABLE work_table ( primary key(id), index(state,city) )SELECT id,state,city FROM src_table //AUTO_INCREMENT 等列的属性和默认值不会复制到表中,为了保留这些,应在创建表后使用ALTER TABLE 适当的修改列定义 CREATE TBALE work_table SELECT * FROM src_table; ALTER TABLE work_table MODIFY id INT UNSIGNED NOT NULL AUTO_INCEMENT;
3. 创建临时表
4.
5.