insert into select和select into的使用和区别介绍

insert into ... select ...:可将表1中的全部数据或者部分数据复制到表2中。

eg:

复制代码 代码如下:

insert into t2(id,name,pwd)

select id,name,pwd from t1

注:t2必须存在。t1中查询的列名可不与t1列名相同。无 values

select...into:查询t1中的数据,插入到t2中。

eg:

复制代码 代码如下:

select * into t2 from t1

注:t2被创建并填充数据。

时间: 2024-09-28 12:14:33

insert into select和select into的使用和区别介绍的相关文章

Innodb:RR隔离级别下insert...select 对select表加锁模型和死锁案列

最近有网友遇到了在RR隔离级别下insert A select B where B.COL=** 由于select表也就是B表引发的死锁的问题.分析死锁日志后,笔者进行模拟重现了这位网友遇到了2种场景并且在本文中进行详细的描述. 本文使用版本percona 5.7.14修改版,能够打印出事务所有的行锁信息结构链(不包含隐含锁) 本文中的测试是在RR隔离级别下完成的,RC不存在这样的问题 笔者对源码的理解有限,如有错误请指正 本文使用了自制工具innblock和bcview,前者用于扫描块结构后者

sql server存储过程中SELECT 与 SET 对变量赋值的区别

SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT. 对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们 并没有注意,其实这两种方式还是有很多差别的. SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值. 当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法. 下表列出 SET 与 SELECT 的区别.请特别注意红色部分. set select 同时对多个变量同时赋值 不支持 支持

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别_MsSql

SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值.当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法.下表列出 SET 与 SELECT 的区别.请特别注意红色部分.   set select 同时对多个变量同时赋值 不支持 支持 表达式返回多个值时 出错 将返回的最后一个值赋给变量 表达式未返回值 变量被赋null值 变量保持原值 下面以具体示例来说明问题:create table chinadba1(userid int ,addr varchar(1

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别

SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值.当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法.下表列出 SET 与 SELECT 的区别.请特别注意红色部分. set select 同时对多个变量同时赋值 不支持 支持 表达式返回多个值时 出错 将返回的最后一个值赋给变量 表达式未返回值 变量被赋null值 变量保持原值 下面以具体示例来说明问题:create table chinadba1(userid int ,addr varchar(128

select、poll、epoll之间的区别总结[整理]

select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间.关于这三种IO多路复用的用法,前面三篇总结写的很清楚,并用服务器回射echo程序进行了测试.

select、poll、epoll之间的区别总结

这个问题面试经常会被问道,赶紧总结一下 select.poll.epoll都是IO多路复用的机制,先是监听多个文件描述符FD,一旦某个FD就绪,就可以进行相应的读写操作.但是select.poll.epoll本质都是同步I/O,他们都需要在读写事件就绪之后自己负责读写,即这个读写过程是阻塞的 1 select/poll select缺点: [1]每次调用select都需要把fd从用户态拷贝到内核态,开销比较大 [2]每次都需要在内核遍历传入的fd [3]select支持文件数量比较小,默认是10

insert into tablename与Select * into tablename 比较

select|比较 insert into tablename 时表tablename必须存在select * into tablename 时表不能存在 在数据库的故障还原模型为"简单"的时候,select * into tablename要快,因为在数据库的故障还原模型为"简单"的时候select * into tablename是不会产生大量日志的 --测试:--前提条件是数据库的故障还原模型为"简单" --1.用select into 生

insert select与select into 的用法使用说明_MsSql

insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据 select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,--创建一张新表,只复制选择的列名字段数据 Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我们在开发.测试过程中,经常会遇到需要表复制的情况,

insert into select和select into的使用和区别介绍_MsSql

insert into ... select ...:可将表1中的全部数据或者部分数据复制到表2中. eg: 复制代码 代码如下: insert into t2(id,name,pwd) select id,name,pwd from t1 注:t2必须存在.t1中查询的列名可不与t1列名相同.无 values select...into:查询t1中的数据,插入到t2中. eg: 复制代码 代码如下: select * into t2 from t1 注:t2被创建并填充数据.