Home > Database > Mysql Tutorial > body text

mysql中SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

WBOY
Release: 2016-06-07 17:51:18
Original
1043 people have browsed it

本文章介绍了mysql中的SELECT INTO 和 INSERT INTO SELECT 两种表复制语句,有需要的朋友可以参考一下。

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
      Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)
      这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,
      如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们
      就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。

1.INSERT INTO SELECT语句
      语句形式为:Insert into Table2(field1,field2,...) value1,value2,... from Table1
      要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,
      还可以插入常量。示例如下:
--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


2.SELECT INTO FROM语句
      语句形式为:SELECT vale1, value2 into Table2 from Table1
      要求目标表Table2不存在,因为在插入时会自动创建表Table2,
       并将Table1中指定字段数据复制到Table2中。示例如下

 --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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!