如何在MySQL中运行SQL脚本?

五迷三道 提交于 2020-03-10 09:55:09

我想在MySQL中执行包含SQL查询的文本文件。

我试图运行source /Desktop/test.sql并收到错误:

mysql>。 \\ home \\ sivakumar \\ Desktop \\ test.sql错误:无法打开文件'\\ home \\ sivakumar \\ Desktop \\ test.sql',错误:2

对我做错了什么的想法?


#1楼

您可以使用以下命令执行已在文本文件中编写的mysql语句:

mysql -u yourusername -p yourpassword yourdatabase < text_file

如果尚未创建您的数据库,请首先使用以下命令登录您的mysql:

mysql -u yourusername -p yourpassword yourdatabase

然后:

mysql>CREATE DATABASE a_new_database_name

然后:

mysql -u yourusername -p yourpassword a_new_database_name < text_file

应该这样做!

更多信息: http//dev.mysql.com/doc/refman/5.0/en/mysql-batch-commands.html


#2楼

很可能,你只需要更改斜杠/ blackslash:from

 \home\sivakumar\Desktop\test.sql

 /home/sivakumar/Desktop/test.sql

所以命令是:

source /home/sivakumar/Desktop/test.sql

#3楼

mysql命令提示符使用以下内容 -

source \\home\\user\\Desktop\\test.sql;

不使用报价单。 即使路径包含空格('')也 根本不使用引号


#4楼

由于mysql -u yourusername -p yourpassword yourdatabase < text_file无法在远程服务器(Amazon的EC2)上运行...

确保首先创建数据库。

然后:

mysql --host=localhost --user=your_username --password=your_password your_database_name < pathTofilename.sql

#5楼

我最喜欢的选择是:

 mysql --user="username" --database="databasename" --password="yourpassword" < "filepath"

我以这种方式使用它,因为当你用“”字符串串起它时,你会避免错误的路径和带空格的错误 - 而且可能会遇到更多我没有遇到过的字符问题。


使用@elcuco评论我建议在[space]之前使用此命令,因此它告诉bash忽略在历史记录中保存它,这将在大多数bash中开箱即用。

如果它仍在历史记录中保存您的命令,请查看以下解决方案:

执行命令而不将其保留在历史记录中


额外的安全编辑

如果您想要更加安全,可以使用以下命令并在命令行输入中输入密码:

mysql --user="username" --database="databasename" -p < "filepath"
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!