我想在MySQL中执行一个包含SQL查询的文本文件。
我试着运行source /Desktop/test。SQL和收到的错误:
mysql >。回家\ \ sivakumar桌面\ \测试。sql ERROR:无法打开文件 ' \ \ sivakumar \电脑\测试。Sql ',错误:2
你知道我哪里做错了吗?
我想在MySQL中执行一个包含SQL查询的文本文件。
我试着运行source /Desktop/test。SQL和收到的错误:
mysql >。回家\ \ sivakumar桌面\ \测试。sql ERROR:无法打开文件 ' \ \ sivakumar \电脑\测试。Sql ',错误:2
你知道我哪里做错了吗?
当前回答
给出.sql文件的路径:
source c:/dump/SQL/file_name.sql;
其他回答
使用下面的mysql命令提示符-
source \\home\\user\\Desktop\\test.sql;
不要使用报价。即使路径包含空格(' '),也不要使用引号。
作为将来的参考,我发现这与前面提到的方法相比,在Windows下的msql控制台:
mysql > >源c: / / path_to_file / / path_to_file / / file_name.sql;
如果您的根驱动器不叫“c”,那么只需与您的驱动器交换。先试试反斜杠,如果不行,再试试正斜杠。如果它们也不起作用,请确保您有完整的文件路径,文件名上的.sql扩展名,如果您的版本坚持使用分号,请确保它存在并重试。
我使用Bash的Here字符串进行即时SQL执行:
mysql -uroot -p <<<"select date(now())"
https://www.gnu.org/software/bash/manual/html_node/Redirections.html#Here-Strings
而不是重定向,我会做以下事情
mysql -h <hostname> -u <username> --password=<password> -D <database> -e 'source <path-to-sql-file>'
这将执行文件path-to-sql-file
mysql -uusername -ppassword database-name < file.sql