zoukankan      html  css  js  c++  java
  • select into语句分析

    SQL SELECT INTO 语句可用于创建表的备份复件

    SELECT INTO 语句

    SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。

    SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

    SQL SELECT INTO 语法

    您可以把所有的列插入新表:

    SELECT *
    INTO new_table_name [IN externaldatabase] 
    FROM old_tablename

    或者只把希望的列插入新表:

    SELECT column_name(s)
    INTO new_table_name [IN externaldatabase] 
    FROM old_tablename

    SQL SELECT INTO 实例 - 制作备份复件

    下面的例子会制作 "Persons" 表的备份复件:

    SELECT *
    INTO Persons_backup
    FROM Persons

    IN 子句可用于向另一个数据库中拷贝表:

    SELECT *
    INTO Persons IN 'Backup.mdb'
    FROM Persons

    如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:

    SELECT LastName,FirstName
    INTO Persons_backup
    FROM Persons

    SQL SELECT INTO 实例 - 带有 WHERE 子句

    我们也可以添加 WHERE 子句。

    下面的例子通过从 "Persons" 表中提取居住在 "Beijing" 的人的信息,创建了一个带有两个列的名为 "Persons_backup" 的表:

    SELECT LastName,Firstname
    INTO Persons_backup
    FROM Persons
    WHERE City='Beijing'

    SQL SELECT INTO 实例 - 被连接的表

    从一个以上的表中选取数据也是可以做到的。

    下面的例子会创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息:

    SELECT Persons.LastName,Orders.OrderNo
    INTO Persons_Order_Backup
    FROM Persons
    INNER JOIN Orders
    ON Persons.Id_P=Orders.Id_P

    为什么select into基本上不耗费性能?

    场景:我有一张表大概20万条数据。直接用select *查询大约需要9s,我将这些数据通过select * into #xxx 的方式插入一张临时表,然后在查询这张临时表的话花费的时间还是大约9s。为什么呢?

    答案:20万=200K,假设平均每条记录大小为500字节,那200K*500=97M,网络传输,一秒11M,全部数据传过来,就要97/11=8.8秒。
    而select * into #xxx 的方式,相当于在服务器进行copy,97M,顶多一两秒就OK了。

  • 相关阅读:
    Linux下压缩文件和解压缩
    原生JS随机数
    Git问题-Git warning LF will be replaced by CRLF
    mysql进程占用cpu居高不下处理
    mysql修改查询的结果包含的敏感字
    mysql 全库备份和还原
    mysql创建用户并设置权限
    Mysql-开启 SSL加密 mysql_ssl_rsa_setup
    tp6_005控制器
    ERROR 1104 (42000): The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
  • 原文地址:https://www.cnblogs.com/hetaoyuan/p/12520804.html
Copyright © 2011-2022 走看看