作为开发人员,不可避免的会涉及到对数据库的操作,无论时常见的Mysql、SQLServer、Oracle数据库,还是APP常用的Sqlite和移动应用用到的Web SQL Databases等,而在使用这些数据库的过程中,常见的操作都是界面或后台处理程序对数据库进行数据库的更改,可是随着应用的上线,常见于网站中,对于普通用户这种非专业人员来说,要他们帮忙进行数据库数据的变更就显得非常不方便,而且也不是特别的安全,这时候比较常见的就是写好sql语句放在某些批处理中,直接执行对应操作即可,以下几篇文章就主要对常见数据库的批处理语句进行说明,下面说的就是SQL Server批处理的实现,话不多说,直接上代码:
@ECHO OFF
SET dbhost=主机名(例如:127.0.0.1)
SET dbuser=用户名(例如:sa)
SET dbpasswd=用户密码(例如:admin)
set dbName=数据库名称(例如:test)
SET sqlpath=%~dp0(此语句可以保证.bat同级目录下的.sql文件能被找到)
set sqlfile=update.sql(需要执行执行sql的文件)
::执行SQL脚本
osql -S %dbhost% -U %dbuser% -P %dbpasswd% -d %dbName% -i %sqlpath%%sqlfile%
ECHO 完成!
PAUSE
@ECHO Done!
以上代码完整放在.bat文件中就能实现对数据库的具体操作,另附上osql常见参数:
通过 sqlcmd -? 查看相关参数:
用法: 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 使用客户端区域设置]
[-b 出错时中止批处理]
[-v 变量 = "值"...] [-A 专用管理连接]
[-X[1] 禁用命令、启动脚本、环境变量[并退出]]
[-x 禁用变量替换]
[-? 显示语法摘要]
此处使用的主要是
-S 服务器ip
-d 数据库名称
-U 连接用户名
-P 用户的密码
-i 执行的sql文件
-o sql语句输出的结果文件
如果使用批处理执行Mysql的sql语句在下一篇中会写到
bat批处理执行sql语句__Mysql