select into from和insert into select的使用举例详解

  目录

  1. SELECT INTO 语句

  用途:SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中,表结构与查询结构一致。

  PS:MySQL不支持SELECT INTO语法。

  1.1 SELECT INTO 语法

  复制所有的列插入到新表中。

  SELECT *

  INTO newtable

  FROM table1;

  或者只复制希望的列插入到新表中:

  SELECT column_name(s)

  INTO newtable

  FROM table1;

  提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。以使用 AS 子句来应用新名称。

  2. INSERT INTO SELECT 语句

  INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。

  2.1 INSERT INTO SELECT 语法

  从一个表中复制所有的列插入到另一个已存在的表中:

  INSERT INTO table2

  SELECT * FROM table1;

  只复制希望的列插入到另一个已存在的表中:

  INSERT INTO table2

  (column_name(s))

  SELECT column_name(s)

  FROM table1;

  3. select into from 和 insert into select 区别

  select into from 要求目标表不存在,因为在插入时会自动创建;

  insert into select from 要求目标表存在。

  4. 复制表结构及其数据

  create table table_name_new

  as

  select * from table_name_old;

  5.只复制表结构

  原理就是使得where后边条件为假。

  create table table_name_new as select * from table_name_old where 1=2;

  或者

  create table table_name_new like table_name_old;

  6.只复制表数据

  6.1 两个表结构一样

  insert into table_name_new select * from table_name_old;

  6.2 两个表结构不一样

  insert into table_name_new(column1,column2...) select column1,column2... from table_name_old;

  只能插入相同字段数据。

  总结

  到此这篇关于select into from和insert into select使用的文章就介绍到这了,更多相关select into from和insert into select内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  您可能感兴趣的文章: