从命令行执行SQL脚本

82

我需要使用批处理文件修改数据库,例如删除表格。我正在使用本地SQL Express(SQL Server 2008 R2),用户为sa,密码已知。

批处理文件应该怎么写?

在脚本中如何指定密码以及使用的SQL Express?

6个回答

79

64
你可以像这样做。
sqlcmd -S <server Name> -U sa -P sapassword -i inputquery_file_name -o outputfile_name

在命令提示符中运行sqlcmd /?以获取可以与sqlcmd实用程序一起使用的所有选项。


提供一个包含所有SQL查询的文件名比提供SQL查询作为命令行参数更方便。 - RBT

37
如果您使用集成安全,您可能想知道只需像这样使用-E
sqlcmd -S Serverinstance -E -i import_file.sql

我运行了 "sqlcmd -i filename.sql" 命令,并使用集成登录连接到本地 SQL Server 并运行脚本... 看起来它具有默认值。 - PAS

2

反馈各位,首先创建数据库示例并使其运行;在执行下面的SQL文件之前。

sqlcmd -U SA -P yourPassword -S YourHost -d live -i live.sql

0
首先在 SQL Server 中创建一个空数据库,然后运行这个命令。
sqlcmd -s ServerName -d CreatedDatabaseName -i ScriptFileName.sql

ScriptFileName 应该带有完整路径,例如 "D:\Folder Name\ScriptFileName.sql"。

如果在 SQL Server 中有用户名和密码,还可以使用 -u 和 -p。


-3

首先将MYSQL的路径设置为环境变量->系统变量->点击Path->添加-> "C:\Program Files\MySQL\MySQL Server 8.0\bin"

打开cmd->导航到包含sql脚本的文件夹->键入以下内容-> mysql --user=root -p < employees.sql ->输入在MYSQL安装期间设置的密码->按Enter。

完成。

CMD Screenshot after it worked form me


问题涉及到 Microsoft SQL Server,而不是 MySQL。请检查问题标签。 - Sakura Kinomoto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接