MSSQL命令行导入导出数据操作指南(mssql 命令行导数据)
## MSSQL 命令行导入导出数据操作指南
MSSQL 是一种关系型数据库管理系统,它提供了丰富的功能,将数据转化为自所需要的图或报表,有助于我们更好地分析数据。本文主要介绍MSSQL 命令行导入导出数据的操作指南,以供大家参考。
### 一、导入数据
在 Microsoft SQL Server 中导入数据时,首先需要执行以下步骤:
1. 使用 BCP 命令行参数进行操作。
2. 使用 SELECT INTO 操作从现有表中复制数据。
3. 使用 BULK INSERT 语句将文件中的数据加载到表中。
下面分别介绍它们的具体使用步骤:
**BCP**
BCP 是一个命令行程序,用于从系统文件/文件系统中将数据导入/导出至 Microsoft SQL Server 数据库。
导入数据主要步骤:
(1)检查输入文件的的格式,是否符合标准格式;
(2)创建一个新的表或在现存表中添加字段;
(3)在 DataBase 中打开 DOS,然后运行 BCP 命令语句;
(4)完成之后,检查数据是否正确导入;
(5)关闭打开的DOS窗口。
例如:
“`shell
$ bcp MyTable in ‘C:\data\mydata.csv’ -S MyServer -U sa -P Passw0rd -c -t,
**SELECT INTO**
SELECT INTO 语句用来从现有表中复制数据,语法如下:
SELECT [ ALL | DISTINCT ] select_expression [ INTO new_table_name ]
[ FROM source [ WHERE where_condition ] ]
[ GROUP BY group_by_expression ]
[ HAVING having_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ];
其中 `new_table_name` 是将要在数据库中创建的新表,`source` 是现有表名称,`where_condition` 限定了从现有表中复制数据记录的条件。
例如:创建一个新表 `NewTable` 并从 `ExistTable` 表中复制所有数据
```shellSELECT * INTO NewTable FROM ExistTable
```
**BULK INSERT**
BULK INSERT 语句用来从文件加载数据到表中,语法如下:
BULK INSERT destination_table [
[ FROM [ { BULK | TAPE } ] ]
‘file_name’
[ WITH [ ( [ [ BATCHSIZE = batch_size ]
[ [ , ] TABLOCK ]
[ [ , ] [ CHECK_CONSTRAINTS ]
[ [ , ] FIRE_TRIGGERS ]
[ [ , ] KEEPIDENTITY ]
[ [ , ] KEEPNULLS ]
[ [ , ] ORDER ( { { column [ ASC | DESC ] }
[ ,…n ] ) ]
[ [ , ] ROWS_PER_BATCH = rows_per_batch ]
[ [ , ] ROWTERMINATOR = ‘string’ ]
[ [ , ] TABLOCK ]
[ [ , ] ERRORFILE = ‘file_name’ ]
[ [ , ] MAXERRORS = maximum_errors ]
[ [ , ] [ IGNORE_CONSTRAINTS | IGNORE_TRIGGERS ]
[ [ , ] [ IGNORE_DUP_KEY ]
[ [ , ] [ KEEP_NULLS ]
[ [ , ] [ KILOBYTES_PER_BATCH = kilobytes_per_batch ]
[ [ , ] [ ROWS_PER_BATCH = rows_per_batch ]
[ [ , ] [ ORDER ( { { column [ ASC | DESC ] }
[ ,…n ] ) ]
[ [ , ] [ ROWTERMINATOR = ‘string’ ]
]
[ WITH ( [ CODEPAGE = { ‘ACP’ | ‘OEM’ | ‘RAW’ | ‘code_page’ } ]
[ [ , ] [ DATAFILETYPE =
{ ‘char’ | ‘native’ | ‘widechar’ | ‘widenative’ } ]
]
]
其中 `destination_table` 是将要加载数据的表名称,`file_name` 是文件名, `batch_size` 指定了每次处理文件中的数据量。
例如:从 `C:\mydata.csv` 文件中加载所有数据到 `MyTable` 表中
```shellBULK INSERT MyTable FROM 'C:\mydata.csv' WITH (FIELDTERMINATOR = ',');
### 二、导出数据
MSSQL 命令行导出数据也有多种方法,主要有 BCP 和 SELECT INTO 语句。
**BCP**
BCP 命令行参数可以用来从 SQL Server 数据库中将数据导出/导入,主要步骤:
1. 检查输出文件的格式是否符合标准格式;
2. 打开数据库的DOS,然后运行BCP命令语句;
3. 根据情况配置参数;
4. 完成之后,检查数据是否正确导出;
5. 关闭打开的DOS窗口。