表复制:SELECT INTO 和 INSERT INTO SELECT

简介: 表复制:SELECT INTO 和 INSERT INTO SELECT

INSERT INTO SELECT语句


  • 语句形式为:
  1. Insert into Table2(field1,field2,...) select value1,value2,... from Table1
  • 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量
  • 注意
  1. 1)要求目标表Table2必须存在,并且字段field,field2...也必须存在
  2. 2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2...中必须包括主键
  3. 3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:
  4. Insert into Table2(field1,field2,...) values (select value1,value2,... from Table1)



SELECT INTO FROM语句


  • 语句形式为:
  1. SELECT vale1, value2 into Table2 from Table1
  • 要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中
  1. SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。


目录
相关文章
|
7月前
|
索引
不推荐SELECT * FROM table原因
根据非索引查询 :B+树的叶子节点放数据表行数据,叶子节点存放主键,如果想获得行数据信息,则需要再跑到主键索引去拿数据,这叫回表,速度慢。但不管是主键还是非主键索引,他们的叶子结点数据都是有序的。比如在主键索引中,这些数据是根据主键id的大小,从小到大,进行排序的。**1.**根据索引查询 :B+树的父节点放索引数据,速度快,叶子(父)节点会存放完整的行数据西信息。
347 0
|
1月前
|
SQL 关系型数据库 MySQL
SQL INSERT INTO order_record SELECT * FROM 从一张表查出数据插入到另一张表
SQL INSERT INTO order_record SELECT * FROM 从一张表查出数据插入到另一张表
14 0
|
6月前
|
数据库 OceanBase
使用 `INSERT INTO table_name SELECT * FROM table_name` 这种方式
使用 `INSERT INTO table_name SELECT * FROM table_name` 这种方式
45 1
|
7月前
|
数据库 OceanBase
INSERT INTO table_name SELECT * FROM table_name
INSERT INTO table_name SELECT * FROM table_name
37 1
|
8月前
|
数据库 索引
SELECT
SELECT
45 0
|
10月前
|
存储 前端开发 JavaScript
select2 使用详解
select2 使用详解
|
SQL Java 数据库连接
SELECT操作
SELECT操作
52 0
|
存储 SQL 缓存
到底为什么不建议使用SELECT *?
“不要使用SELECT *”几乎已经成为了MySQL使用的一条金科玉律,就连《阿里Java开发手册》也明确表示不得使用`*`作为查询的字段列表,本文从4个方面给出理由。
到底为什么不建议使用SELECT *?
|
关系型数据库 MySQL 索引
浅谈create table as 和 insert into select 复制表遇到的问题
之前做一次表压缩测试,在准备原表时需要数据量比较大的表,通过insert into select 的方式将几个表的数据复制到一个表,产生的一些问题~
3134 0

热门文章

最新文章