mysql -- 查询并插入

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,...) select 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

时间: 2024-10-20 13:44:23

mysql -- 查询并插入的相关文章

JDBC连接数据库(MySql)步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能。

主要内容:  JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能. 把十一个功能都放在一起. 一.JDBC连接数据库(编辑)步骤(主要有六个步骤).  1.注册驱动: Class.formName("com.mysql.jdbc.Driver");  2.获取连接:(1) param1:  要连接数据库的url-----> String url="jdbc:mysql:/

安卓+servlet+MySql 查询+插入(汉字乱码解决)

问题: 安卓程序,通过servlet连接MySQL数据库,并实现查询和插入(修改,删除类似). 其中遇到的最大的问题是:汉字乱码问题(查询条件有汉字乱码.servlet的汉字到数据乱码.安卓通过servlet方法数据库汉字乱码) 当所有的编码(客户端,服务端,数据库)都为UTF-8时,但是插入汉字依然为乱码. 1.安卓客户端中的汉字到servlet中为乱码. 当插入到数据库的汉字为乱码(而不是问号)时. 解决方法: 在安卓客户端将String中的汉字由UTF-8转码为ISO8859-1. use

JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能

主要内容:  JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十一个功能都放在一起. 安装下载的数据库驱动程序jar包,不同的数据库需要不同的驱动程序(这本该是第一步,但是由于属于安装类,所以我们放在最后) 一.JDBC连接数据库(编辑)步骤(主要有六个步骤).  1.注册驱动: Class.forName("com.mysql.jdbc.Driver"

Windows下Java程序实现对Mysql数据库的插入,删除,修改和查询

运行环境:Windows7,Eclipse,MySql,JDK1.7,mysql-connector-java-5.1.17-bin.jar 1 //import java.io.*; 2 import java.util.*; 3 import java.sql.*; 4 5 /** 6 * 7 * @date 2014-05-20 8 * @author asif 9 * @作用 java实现对mysql数据库的增减删查 10 * @bug 插入,删除,更新的时候异常停止 11 * 12 *

05 MySQL之查询、插入、更新与删除

01-查询数据 语法格式: select * | 字段列表 from 表1, 表2 where 表达式 group by ... having ... order by ... limit .. # 查询所有字段 select * from 表名; # 查询单个字段 select 列名 from 表名; # 查询多个字段 select 列名1, 列名2, ... from 表名; # 查询指定记录 select 列名 from 表名 where 查询条件; # 带IN关键字查询 select s

Mysql查询缓存碎片、缓存命中率及Nagios监控

Mysql 的优化方案,在互联网上可以查找到非常多资料,今天对Mysql缓存碎片和命中率作了详细了解,个人作了简单整理. 一.Mysql查询缓存碎片和缓存命中率. mysql> SHOW STATUS LIKE 'qcache%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | Qcache_free_blocks | 5 |

mysql查询缓存打开、设置、参数查询、性能变量意思

http://blog.sina.com.cn/s/blog_75ad10100101by7j.html http://www.cnblogs.com/zemliu/archive/2013/08/03/3234372.html 第一: query_cache_type 使用查询缓存的方式 一般,我们会把 query_cache_type 设置为 ON,默认情况下应该是ON mysql> select @@query_cache_type;+--------------------+| @@qu

MySQL查询缓存打开、设置、参数查询、性能变量

query_cache_type 使用查询缓存的方式 一般,我们会把query_cache_type 设置为 ON,默认情况下应该是ON mysql> SELECT @@query_cache_type; +--------------------+ | @@query_cache_type | +--------------------+ | ON | +--------------------+ query_cache_type有3个值 0代表关闭查询缓存OFF,1代表开启ON,2(DEMA

关于 mysql 查询缓存

查询缓存的作用就是当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询.这样就大大提高了性能,节省时间. 查看缓存是否开启: select @@query_cache_type; 禁用查询缓存:set session query_cache_type=off; 这里的设置只是对目前的设置,是暂时的 若 执行 set session query_cache_type=off; 时报错 提示 restart with query_cache_type=1