上一篇
使用cmd执行SQL文件可通过命令:
mysql -u 用户名 -p密码 数据库名 < 文件路径.sql,路径含空格时需加引号,如
< "C:test.sql"。
在 Windows 的 cmd 命令提示符中执行 SQL 文件,需要通过数据库系统自带的命令行工具实现,以下是针对不同数据库的详细操作指南(以 MySQL 和 SQL Server 为例):
MySQL 数据库执行 SQL 文件
步骤 1:打开 CMD
按 Win + R 输入 cmd 并回车。
步骤 2:使用 mysql 命令执行 SQL 文件
mysql -u 用户名 -p -h 主机地址 -D 数据库名 < "SQL文件绝对路径"
参数说明:
-u 用户名:数据库登录账号(如root)。-p:回车后输入密码(为安全起见,密码不直接显示)。-h 主机地址:数据库服务器 IP(本地用localhost或0.0.1)。-D 数据库名:目标数据库名称(可选,也可在 SQL 文件中用USE 数据库名;指定)。< "路径":输入重定向符号,指向 SQL 文件路径(路径含空格需加双引号)。
示例:
mysql -u root -p -h localhost -D testdb < "C:UsersAdminmy_script.sql"
回车后输入密码,脚本将自动执行。

SQL Server 数据库执行 SQL 文件
步骤 1:打开 CMD
按 Win + R 输入 cmd 并回车。
步骤 2:使用 sqlcmd 命令执行 SQL 文件
sqlcmd -S 服务器名 -U 用户名 -P 密码 -d 数据库名 -i "SQL文件绝对路径"
参数说明:
-S 服务器名:数据库服务器名称(本地用localhost或 )。-U 用户名:登录账号(如sa)。-P 密码:直接输入密码(若省略-P,回车后会提示输入)。-d 数据库名:目标数据库。-i "路径":指定 SQL 文件路径(路径含空格需加双引号)。
示例:
sqlcmd -S localhost -U sa -P 123456 -d master -i "D:SQL Filesinit_db.sql"
注意事项
-
路径格式:

- 使用绝对路径(如
C:folderfile.sql)。 - 路径含空格或特殊字符时,必须用双引号包裹(如
"D:My Scriptsrun.sql")。
- 使用绝对路径(如
-
权限问题:
- 确保 CMD 有权限访问 SQL 文件(建议将文件放在非系统盘)。
- 数据库账号需具备执行 SQL 文件的权限。
-
错误排查:
- 检查 SQL 文件语法是否正确。
- 确认数据库服务正在运行。
- 验证连接参数(用户名、密码、主机名)是否准确。
-
安全建议:
- 避免在命令中直接暴露密码(如 MySQL 用
-p代替-p密码,回车后手动输入)。 - 生产环境建议使用配置文件或环境变量管理敏感信息。
- 避免在命令中直接暴露密码(如 MySQL 用
其他数据库工具
- Oracle:使用
sqlplus命令(示例:sqlplus 用户名/密码@服务名 @文件路径)。 - PostgreSQL:使用
psql命令(示例:psql -U 用户名 -d 数据库名 -f 文件路径)。
常见问题
Q:提示 'mysql' 不是内部或外部命令?
A:未配置环境变量,需将 MySQL 的 bin 目录(如 C:Program FilesMySQLbin)添加到系统 PATH 中。

Q:SQL 文件执行一半出错?
A:检查 SQL 文件中是否有语法错误或不兼容语句(如分号缺失、表不存在等)。
Q:如何查看执行日志?
A:在命令末尾添加 > log.txt 重定向输出(如 mysql ... < file.sql > log.txt),日志将保存到 log.txt。
引用说明:本文操作基于 MySQL 8.0 及 SQL Server 2019 官方命令行工具,安全建议参考 OWASP 数据库安全指南,路径规范遵循 Windows 文件系统标准。
