文档章节

mysql中复制表数据(select into from和insert into select)

谢思华
 谢思华
发布于 2013/12/06 17:16
字数 705
阅读 23467
收藏 20
点赞 1
评论 3

一.简介

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应

用程序开发中必不可少。 

但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到

table2中,或者将整个table1复制到table2中,这时候我们就要使用select into  from和 insert into select 表复制语句了。


二.方式1(常用):insert into select

1、语句形式:

Insert into Table2(field1,field2,...) select value1,value2,... from Table1



2、要求:

目标表Table2必须存在;

由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量;


3、例子:

   --1.创建测试表 
    create TABLE Table1 
    ( 
        a varchar(10), 
        b varchar(10), 
        c varchar(10), 
        CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED 
        ( 
            a ASC 
        ) 
    ) ON [PRIMARY] 
    create TABLE Table2 
    ( 
        a varchar(10), 
        c varchar(10), 
        d int, 
        CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED 
        ( 
            a ASC 
        ) 
    ) ON [PRIMARY] 
    GO 
    --2.创建测试数据 
    Insert into Table1 values('赵','asds','90') 
    Insert into Table1 values('钱','asds','100') 
    Insert into Table1 values('孙','asds','80') 
    Insert into Table1 values('李','asds',null) 
    GO 
    select * from Table2 
    --3.INSERT INTO SELECT语句复制表数据 
    Insert into Table2(a, c, d) select a,c,5 from Table1 
    GO 
    --4.显示更新后的结果 
    select * from Table2 
    GO 
    --5.删除测试表 
    drop TABLE Table1 
    drop TABLE Table2



也可参考一下sql:

INSERT INTO `um_region`(`region_id`,`parent_id`,`name`,`sort`,`type`)
SELECT `region_id`,`parent_id`,`name`,`sort`,`type` FROM `省$`



三.方式2:select into from

1、语句形式:

SELECT vale1, value2 into Table2 from Table1



2、要求:

目标表Table2不存在;

因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。


3、例子:

   --1.创建测试表 
    create TABLE Table1 
    ( 
        a varchar(10), 
        b varchar(10), 
        c varchar(10), 
        CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED 
        ( 
            a ASC 
        ) 
    ) ON [PRIMARY] 
    GO 
    --2.创建测试数据 
    Insert into Table1 values('赵','asds','90') 
    Insert into Table1 values('钱','asds','100') 
    Insert into Table1 values('孙','asds','80') 
    Insert into Table1 values('李','asds',null) 
    GO 
    --3.SELECT INTO FROM语句创建表Table2并复制数据 
    select a,c INTO Table2 from Table1 
    GO 
    --4.显示更新后的结果 
    select * from Table2 
    GO 
    --5.删除测试表 
    drop TABLE Table1 
    drop TABLE Table2


四.是否复制表结构、数据到新表

1、复制表结构以及数据

CREATE TABLE 新表  
SELECT * FROM 旧表



2、只复制表结构

      a、      CREATE TABLE 新表

                 SELECT * FROM 旧表 WHERE 1=2

                 即:让WHERE条件不成立.
      b、:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)
                CREATE TABLE 新表
                LIKE 旧表


3、复制旧表数据到新表(两表结构一样)

    INSERT INTO 新表
    SELECT * FROM 旧表


4、复制旧表数据到新表(两表结构不一样)

     INSERT INTO 新表(字段1,字段2,…….)
     SELECT 字段1,字段2,…… FROM 旧表


© 著作权归作者所有

共有 人打赏支持
谢思华
粉丝 59
博文 179
码字总数 120809
作品 0
广州
程序员
加载中

评论(3)

Hale79
Hale79
select info 复制表 不支持
红狼之星
红狼之星
thanks!
SimonAt
SimonAt
Good!
mysql中用命令行复制表结构的方法

mysql中用命令行复制表结构的方法: 1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 或CREATE TABLE 新表 LIKE 旧表 2.复制表结构及数据到新表 CREATE TABLE 新表 SE...

durban
2012/10/17
0
0
SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建

数据表(Table) 创建数据表的时候判断数据表是否存在,若存在则删除,会经常使用,特别是初始化的时候。 视图(View) 创建视图的时候判断视图是否存在,若存在则删除,会经常使用,特别是视图更...

Jansens
2016/11/01
65
0
mysql常用命令

mysql数据库定义: MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。 mysql命令大全 cmd下命令:...

我是宁采臣
2017/02/12
0
0
Mysql SELECT 使用笔记

mysql 不支持select into 复制表或数据使用方式; 可使用: 一、表存在的情况: insert into mydb.table1(id,name,...) select id,name,... from mysqldb.tab; table1是数据库mydb中的表,tab...

耳朵_
2014/03/13
0
0
MSSQL 和 MYSQL 复制表结构和数据

MSSQL: 只复制表结构: select * into new.table from old.table where vend_id=10; --条件不能成立.主键等信息要重建. 将旧表数据复制到已存在的新表(假设结构一样): insert into new.table(...

笔下生辉
2017/08/31
0
0
mysql中批量把一个表的数据批量导入另一个表中

MySql中批量将一个表的数据批量导入另一表中 不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导...

TommyDo
2012/09/27
0
0
mysql基本语法及使用

环境:centos6.8 软件:mysaql 5.6.20 1.mysql交互式基本指令 ;mysql交互式默认的语句结束符, 如果没有结束会出现‘->’这个符号来告知你语句没有结束 show databases;查看有那些数据库存在...

doudou___9958
2016/11/09
5
0
Mysql中 表数据 和 表结构 的复制语句

仅表数据复制 Insert Into Select # 复制筛选数据到目标表 要求目标表存在 INSERT INTO TargetTable(Fields) SELECT Fields FROM SrcTable 【WHERE】 仅表结构复制 Create Table Like # 创建...

麦拂沙
2015/10/18
110
0
MySQL复制表数据到新表的方法

1.MySQL复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 即:让WHERE条件不成立. 方法二:(低版本的mys...

闵开慧
2014/04/30
0
2
Mysql复制表结构、表数据

顺便转一下Mysql复制表结构、表数据的方法: 1、复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from n...

小囧
2012/02/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部