MySql教程

MySql 克隆表,临时表

本文主要是介绍MySql 克隆表,临时表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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.

这篇关于MySql 克隆表,临时表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!