从命令行执行 SQL 脚本
Posted
技术标签:
【中文标题】从命令行执行 SQL 脚本【英文标题】:Execute SQL script from command line 【发布时间】:2011-10-07 21:37:14 【问题描述】:我需要使用批处理文件更改数据库,举个简单的例子,删除一个表。我正在使用本地 SQL Express (SQL Server 2008 R2) 和用户 sa
及其密码。
bat 文件会是怎样的?
如何在脚本中指定密码以及在 SQL Express 中使用的密码?
【问题讨论】:
【参考方案1】:看看sqlcmd
实用程序。它允许您从命令行执行 SQL。
http://msdn.microsoft.com/en-us/library/ms162773.aspx
所有内容都在文档中,但语法应如下所示:
sqlcmd -U myLogin -P myPassword -S MyServerName -d MyDatabaseName
-Q "DROP TABLE MyTable"
【讨论】:
【参考方案2】:你可以这样做
sqlcmd -S <server Name> -U sa -P sapassword -i inputquery_file_name -o outputfile_name
从您的命令提示符运行 sqlcmd /?
以获取您可以与 sqlcmd
实用程序一起使用的所有选项
【讨论】:
提供包含我所有 SQL 查询的文件名比提供 SQL 查询作为命令行参数方便得多。【参考方案3】:如果您使用Integrated Security,您可能想知道您只需要像这样使用-E
:
sqlcmd -S Serverinstance -E -i import_file.sql
【讨论】:
我跑了,sqlcmd -i filename.sql,它用集成登录和运行脚本连接了本地 sql 服务器......所以看起来它有默认值【参考方案4】:反馈小伙伴们,首先现场创建数据库示例;在执行下面的sql文件之前。
sqlcmd -U SA -P yourPassword -S YourHost -d live -i live.sql
【讨论】:
【参考方案5】:首先在 SQL server 中创建一个空数据库,然后运行此命令。
sqlcmd -s ServerName -d CreatedDatabaseName -i ScriptFileName.sql
ScriptFileName 应具有完整的路径,例如“D:\Folder Name\ScriptFileName.sql”。
如果你的 sql server 中有用户名和密码,你也可以使用 -u 和 -p。
【讨论】:
【参考方案6】:首先在环境变量->系统变量->点击路径->添加->“C:\Program Files\mysql\MySQL Server 8.0\bin”中设置MYSQL的路径
打开 cmd-> 导航到具有 sql 脚本的文件夹-> 键入如下 ->
mysql --user=root -p < employees.sql
-> 输入在 MYSQL 设置过程中设置的密码 -> 回车
完成。
CMD Screenshot after it worked form me
【讨论】:
问题是关于 Microsoft SQL Server,而不是 MySQL。检查问题标签。以上是关于从命令行执行 SQL 脚本的主要内容,如果未能解决你的问题,请参考以下文章