coder-zyc
  • SELECT INTO

  SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中;

-- 创建 Websites 的备份,这种写法没走索引导致全表扫描
SELECT * INTO WebsitesBackup FROM Websites;


-- 只复制中国的网站插入到新表中
SELECT * INTO WebsitesBackup FROM Websites WHERE country=\'CN\';

  

  • INSERT INTO SELECT

  INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中,目标表中任何已存在的行都不会受影响;

-- 从一个表中复制所有的列插入到另一个已存在的表中
INSERT INTO table2 SELECT * FROM table1;

-- 只复制希望的列插入到另一个已存在的表中
INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1;

  

 

  两者区别在于 SELECT INTO 要求目标表不存在,因为在插入时会自动创建;INSERT INTO SELECT要求目标表存在;

 

 

分类:

技术点:

相关文章:

  • 2021-08-27
  • 2021-08-27
  • 2021-10-19
  • 2021-10-19
  • 2021-08-14
  • 2021-09-16
  • 2021-10-29
  • 2021-10-29
猜你喜欢
  • 2021-08-27
  • 2021-10-29
  • 2021-10-29
  • 2021-08-27
  • 2021-08-27
  • 2021-08-27
相关资源
相似解决方案