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 文件系统标准。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/29814.html