sqlcmd导出备份数据到CSV/交互

sqlcmd是sql server自带的命令行工具,比之前的osql和issql更好用,毕竟是sql2005新加工具。

sqlcmd备份

# 导出数据到csv
sqlcmd -S localhost -U SA -P pwd -d RM_DB -Q "SELECT tel FROM dbo.m_ask WHERE tel!=''" -o "D:\back.csv"
# 备份
sqlcmd -S ./sqlexpress -U sa -P pwd -d master -Q"BACKUP DATABASE test to disk='D:\aaa.bak'
sqlcmd -S ./sqlexpress -U sa -P pwd -d master -Q"RESTORE DATABASE test from disk='D:\aaa.bak'

sqlcmd交互模式

sqlcmd -S localhost -U SA -P iqilu123
1> use test_db;
2> go # 执行之上的sql
已将数据库上下文更改为 "test_db"。
1> SELECT top 6 tel FROM dbo.m_ask WHERE tel!=''
2> go
tel
--------------------------------------------------
111111
123456
123456
123456789
1234567890
1456456113

(6 行受影响)
1> exit

sqlcmd使用帮助

$ sqlcmd -?
Microsoft (R) SQL Server 命令行工具
版本 14.0.1000.169 NT
版权所有(C) 2017 Microsoft Corporation。保留所有权利。

用法: Sqlcmd            [-U 登录 ID]          [-P 密码]
  [-S 服务器]            [-H 主机名]          [-E 信任连接]
  [-N 加密连接][-C 信任服务器证书]
  [-d 使用数据库名称] [-l 登录超时值]     [-t 查询超时值]
  [-h 标题]           [-s 列分隔符]      [-w 屏幕宽度]
  [-a 数据包大小]        [-e 回显输入]        [-I 允许带引号的标识符]
  [-c 命令结束]            [-L[c] 列出服务器[清除输出]]
  [-q "命令行查询"]   [-Q "命令行查询" 并退出]
  [-m 错误级别]        [-V 严重级别]     [-W 删除尾随空格]
  [-u unicode 输出]    [-r[0|1] 发送到 stderr 的消息]
  [-i 输入文件]         [-o 输出文件]        [-z 新密码]
  [-f <代码页> | i:<代码页>[,o:<代码页>]] [-Z 新建密码并退出]
  [-k[1|2] 删除[替换]控制字符]
  [-y 可变长度类型显示宽度]
  [-Y 固定长度类型显示宽度]
  [-p[1] 打印统计信息[冒号格式]]
  [-R 使用客户端区域设置]
  [-K 应用程序意向]
  [-M 多子网故障转移]
  [-b 出错时中止批处理]
  [-v 变量 = "值"...]  [-A 专用管理连接]
  [-X[1] 禁用命令、启动脚本、环境变量[并退出]]
  [-x 禁用变量替换]
  [-j 打印原始错误消息]
  [-g 启用列加密]
  [-G 使用 Azure Active Directory 进行身份验证]
  [-? 显示语法摘要]

osql帮助

osql发布时间更早,用法与sqlcmd类似。

$ osql \?
Microsoft (R) SQL Server 命令行工具
版本 14.0 NT
版权所有 (c) 2015 Microsoft。保留所有权利。

注意: osql 并不支持 SQL Server 2017的所有功能。
请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。

用法: osql                   [-U 登录 ID]          [-P 密码]
  [-S 服务器]                [-H 主机名]           [-E 可信连接]
  [-d 使用数据库名称]        [-l 登录超时值]       [-t 查询超时值]
  [-h 标题]                  [-s 列分隔符]         [-w 列宽]
  [-a 数据包大小]            [-e 回显输入]         [-I 允许带引号的标识符]
  [-L 列出服务器]            [-c 命令结束]         [-D ODBC DSN 名称]
  [-q "命令行查询"]          [-Q "命令行查询" 并退出]
  [-n 删除编号方式]          [-m 错误级别]
  [-r 发送到 stderr 的消息]  [-V 严重级别]
  [-i 输入文件]              [-o 输出文件]
  [-p 打印统计信息]          [-b 出错时中止批处理]
  [-X[1] 禁用命令,[退出的同时显示警告]]
  [-O 使用旧 ISQL 行为禁用下列项]
       批处理
      自动调整控制台宽度
      宽消息
      默认错误级别为 -1 和 1
  [-? 显示语法摘要]

你可能感兴趣的:(数据库)