`

SQL Server select into用法

阅读更多

本文来简单的介绍一下SQL Server数据库的SELECT INTO语句。SELECT INTO语句是SELECT语句中很特别的一个类型。

作用:

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档
这个语句会在数据库中用和你所指定的列类型和标题创建一个新的表。

注意事项:

SELECT INTO是一种不需要重写表的脚本即可创建一个表的空拷贝的最佳方法,但这个拷贝不包括索引和触发器。你所要做的就是运行一个WHERE子句中条件为假的SELECT INTO。你让SELEC TINTO产生的表必须是数据库中不存在的,否则就会产生一个错误。使用这个语句时必须遵守几个规则:
一、SELECT INTO是一个无日志记载的过程,所以在成品系统上运行SELECTINTO时必须十分小心,因为不能通过回滚来复原操作。
二、执行SELECT INTO语句的人必须在运行该SELECT INTO的数据库中有创建表的许可。
三、SELECT INTO/BULK COPY数据库选项需要在运行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

 例子:

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

1.从同一个数据库中拷贝表及数据:

SELECT *
INTO Persons_backup
FROM Persons

 创建另一个不含数据的表的拷贝,可运行WHERE子句中条件为假的SELECT INTO。如下SQL语句所示,它会创建一个只有Persons表的空拷贝:

SELECT *
INTO Persons_backup
FROM Persons WHERE 1=0

 2.跨数据库拷贝表及数据:

select * into Persons_backup from Project.dbo.Persons

 只拷贝空表:

select * into Persons_backup from Project.dbo.Persons where 1 = 0

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

SELECT LastName,FirstName
INTO Persons_backup
FROM Persons

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

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

 5.下面的例子会创建一个名为 "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导入Excel文件,不过建议使用SQL Server的图形化界面导入excel文件,简单易用:

1.假如接受数据导入的表已存在

insert into 表 select * from
openrowset(microsoft.jet.oledb.4.0
,excel 5.0;hdr=yes;database=c:test.xls,sheet1$)

 2.假如导入数据并生成表

select * into 表 from
openrowset(microsoft.jet.oledb.4.0
,excel 5.0;hdr=yes;database=c:test.xls,sheet1$)

再从这个创建的临时表中将数据移动你的目的表中,推荐这种方法:

insert into tablename ([field1],....) select [field1],.... from [表]

 这条语句很像Oracle中的Merge into语句.它与Merge into的功能是一样的.

 

MySQL不支持Select Into语句直接备份表结构和数据,由于工作中的需要在网上找到一种方法可以代替, 也有其它方法可以处理,总结如下:

方法1:

 Create table new_table_name (Select * from old_table_name);

 方法2:

1.先备份表结构和数据
#导出命令 -u用户名 -p密码 -h主机IP地址 数据库名 表名1   > 导出文件.sql

mysqldump -uroot -proot -h192.168.1.101 Project persons > persons.sql

   2.在导出的sql文件中修改备份表的名字,修改成你想要新创建的表名,如Persons_backup

     3.登录MySQL
     4.选择数据库
     5.执行: Source 备份表的路径 如:Source d:\persons.sql 回车即可。
     6.完成.

 

MySQL Select into outfile用于导出指定的查询数据到文件如下:

1.导出表中所有数据到D盘根目录outfile.txt中如下:

  Select * into outfile 'D:\\outfile.txt' from reiyendms.user_info

 2.导出表中指定查询条件LastName like %xiao% 的数据到D盘根目录outfile1.txt中如下:

Select * into outfile 'D:\\outfile1.txt' from reiyendms.user_info where last_name like '%xiao%'
分享到:
评论

相关推荐

    SQLServerselectinto用法[定义].pdf

    SQL Server SELECT INTO 语句详解 SELECT INTO 语句是 SQL Server 中的一种特殊语句,用于从一个表中选取数据,然后将数据插入到另一个表中。该语句常用于创建表的备份复件或用于对记录进行存档。 SELECT INTO ...

    Sqlserver 自定义函数 Function使用介绍

    SQL Server中的自定义函数是数据库开发中非常重要的组成部分,它们允许开发者创建自定义的逻辑,以便在查询中重用和简化复杂操作。本篇主要关注SQL Server 2008中的三种自定义函数:标量函数、内联表值函数和多语句...

    SQLServer中Partition By及row_number 函数使用详解

    在SQL Server中,`PARTITION BY` 和 `ROW_NUMBER()` 是两种非常重要的分析函数,它们在处理大数据集时尤其有用。本文将详细讲解这两个函数的使用方法及其在实际场景中的应用。 `PARTITION BY` 关键字是分析函数的一...

    SQL Server 游标用法

    本篇文章将深入探讨SQL Server中的游标用法,并通过一个示例来展示其具体操作。 首先,我们要了解游标的组成部分和类型。在SQL Server中,游标有以下主要部分: 1. **声明(DECLARE)**:声明游标时,我们需要指定...

    T-SQL表的维护 select TOP的用法

    ### T-SQL表的维护与SELECT TOP的用法 在SQL Server中,T-SQL(Transact-SQL)是用于管理、查询和操作数据库的一种语言。本文将详细介绍T-SQL中表的维护以及如何使用`SELECT TOP`子句来获取指定数量的记录。 #### ...

    Sql Server 学习、用法、语句总结

    《SQL Server 学习、用法、语句总结》 SQL Server是一款由Microsoft公司开发的关系型数据库管理系统,广泛应用于企业级数据存储与管理。本文将根据个人的学习经历,结合"SQL Server总结1.doc"和"SQL Server数据库...

    SQL Server SELECT

    ### SQL Server SELECT 语句详解 #### 一、SELECT 语句概述 SQL Server 的 `SELECT` 语句是用于从数据库中检索数据的核心工具。它允许用户指定想要查询的数据,以及如何处理这些数据,例如排序、筛选或聚合等。 ##...

    SQL Server遍历表中记录的2种方法(使用表变量和游标)

    在SQL Server中,遍历表中的记录是数据库操作中常见的一种任务,特别是在处理逐行处理数据或执行复杂逻辑时。本文将深入探讨两种方法:使用表变量和使用游标。 首先,我们来看如何通过表变量来遍历记录。表变量在...

    SQL SERVER 语句大全.rar

    以上只是对SQL Server部分核心知识点的概述,实际的"SQL SERVER 语句大全.rar"可能涵盖了更详细的信息,包括每个知识点的具体用法、实例和最佳实践。学习并熟练掌握这些内容,将有助于提升你在SQL Server领域的专业...

    行转列之SQL SERVER PIVOT与用法详解

    在SQL Server中,"行转列"是一种将数据表中的行数据转换成列数据的技术,这对于数据展现和分析尤其有用,特别是在制作报表时。本文主要介绍如何使用SQL Server的PIVOT功能来实现这一操作。 首先,我们看一个简单的...

    SQL SERVER2012中新增函数之字符串函数CONCAT详解

    在SQL Server 2012中,引入了一个新的字符串函数——CONCAT,它的主要功能是方便地连接多个字符串。在CONCAT函数出现之前,我们通常使用 "+" 运算符来连接字符串,但这种方法存在一个问题,即如果其中任何一个字符串...

    mysql与sqlserver的基础语法区别

    - MySQL与SQL Server的基本用法相似,但在一些特定功能上有所不同,如SQL Server支持窗口函数,而MySQL则相对较晚引入。 2. 分区函数: - SQL Server提供`OVER`子句进行窗口函数和分区操作,如`ROW_NUMBER()`, `...

    SQLserver知识点大全总结(全)

    SQL Server 知识点大全总结 SQL Server 是微软公司推出的关系数据库管理系统,广泛应用于企业级数据库管理和开发中。下面是 SQL Server 的知识点总结。 数据库基本概念 * 数据库(Database):存储有组织的数据的...

    SQL Server DBLimk用法

    ### SQL Server DBLink用法详解 #### 一、DBLink概念与作用 DBLink(Database Link)是一种在SQL Server中实现远程数据访问的技术。通过DBLink,用户可以在一个数据库(通常称为本地数据库或源数据库)中执行SQL...

    基于OPENDATASOURCE函数的SQL Server数据库海量数据的快速导入导出方法

    在SQL Server中,处理海量数据是一项挑战,尤其是在需要频繁导入导出的情况下。为了高效地管理大量数据,SQL Server提供了一种灵活的工具——OPENDATASOURCE函数,它允许我们直接从外部源读取数据,从而实现快速的...

    SQL Server FOR XML PATH 语句的应用

    ### SQL Server FOR XML PATH 语句的应用 #### 概述 在数据库操作中,将查询结果转换为XML格式的需求十分常见。SQL Server 提供了多种方法来生成XML数据,其中`FOR XML PATH`是最常用的方法之一。通过使用`FOR XML...

    SQLServer实用教程(第三版)实验10SQLServer与xml.pdf

    SQL Server 与 XML SQL Server 实用教程第三版实验 10...本实验涵盖了 SQL Server 中的 XML 处理知识点,包括 XML 基本语法、XML 数据类型、插入 XML 数据方法、XQuery 查询方法、FOR XML 子句的用法和 XML DML 语句。

    常用SQLserver语句集锦

    在SQL Server数据库管理系统中,SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。它包括数据查询、数据更新、数据插入和数据删除等操作。以下是一些常用的SQL语句及其详细解释: 1. **INSERT...

    SQL server语法教程

    - **SQL的复杂性**:虽然本书提供了一些基本的SQL知识,但实际上SQL是一门非常复杂的语言,拥有众多高级特性和用法。 - **深入学习资源**:对于希望更深入学习SQL的读者,推荐参考Microsoft SQL Server相关的书籍和...

Global site tag (gtag.js) - Google Analytics