从命令行执行 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 &lt; employees.sql -> 输入在 MYSQL 设置过程中设置的密码 -> 回车

完成。

CMD Screenshot after it worked form me

【讨论】:

问题是关于 Microsoft SQL Server,而不是 MySQL。检查问题标签。

以上是关于从命令行执行 SQL 脚本的主要内容,如果未能解决你的问题,请参考以下文章

mysql命令行工具如何执行脚本文件?

MySQL命令行下执行.sql脚本详解

在命令行中使用 WbExport 时缺少数据和 sql 脚本文件

如何在命令行执行 powershell 脚本

如何在命令行执行 powershell 脚本

怎么在mysql命令行执行一个sql文件