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

我试着运行source /Desktop/test。SQL和收到的错误:

mysql >。回家\ \ sivakumar桌面\ \测试。sql ERROR:无法打开文件 ' \ \ sivakumar \电脑\测试。Sql ',错误:2

你知道我哪里做错了吗?


当前回答

mysql> source C:\Users\admin\Desktop\fn_Split.sql

不要指定单引号。

如果上述命令不起作用,请将文件复制到c: drive,然后重试。 如下所示:

mysql> source C:\fn_Split.sql

其他回答

有很多种方法。

From Workbench: File > Run SQL Script -- then follow prompts

From Windows Command Line:
   Option 1: mysql -u usr -p
             mysql> source file_path.sql
   Option 2: mysql -u usr -p '-e source file_path.sql'
   Option 3: mysql -u usr -p < file_path.sql
   Option 4: put multiple 'source' statements inside of file_path.sql (I do this to drop and recreate schemas/databases which requires multiple files to be run)
             mysql -u usr -p < file_path.sql

如果从命令行得到错误,请确保之前运行过

cd {!!>>mysqld.exe home directory here<<!!}
mysqld.exe --initialize 

这必须在mysqld.exe目录中运行,也就是CD。

希望这是有用的,而不是多余的。

而不是重定向,我会做以下事情

mysql -h <hostname> -u <username> --password=<password> -D <database> -e 'source <path-to-sql-file>'

这将执行文件path-to-sql-file

作为将来的参考,我发现这与前面提到的方法相比,在Windows下的msql控制台:

mysql > >源c: / / path_to_file / / path_to_file / / file_name.sql;

如果您的根驱动器不叫“c”,那么只需与您的驱动器交换。先试试反斜杠,如果不行,再试试正斜杠。如果它们也不起作用,请确保您有完整的文件路径,文件名上的.sql扩展名,如果您的版本坚持使用分号,请确保它存在并重试。

如果您正在寻找DRUPAL环境

您可以在项目目录上使用drush命令运行

drush sqlc

因为mysql -u你的用户名-p你的密码你的数据库< text_file不能在远程服务器上工作(亚马逊的EC2)…

确保首先创建了数据库。

然后:

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