我想在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
你知道我哪里做错了吗?
当前回答
而不是重定向,我会做以下事情
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
给出.sql文件的路径:
source c:/dump/SQL/file_name.sql;
而不是重定向,我会做以下事情
mysql -h <hostname> -u <username> --password=<password> -D <database> -e 'source <path-to-sql-file>'
这将执行文件path-to-sql-file
从linux 14.04到MySql 5.7,使用cat命令管道登录MySql:
cat /Desktop/test.sql | sudo mysql -uroot -p
您可以使用此方法直接从Shell执行许多MySQL命令。例如:
echo "USE my_db; SHOW tables;" | sudo mysql -uroot -p
请确保使用分号(';')分隔命令。
我在上面的答案中没有看到这种方法,我认为这是一个很好的贡献。
你可以使用下面的命令来执行已经写入文本文件的mysql语句:
mysql -u yourusername -p yourpassword yourdatabase < text_file
如果你的数据库还没有创建,首先登录到你的mysql使用:
mysql -u yourusername -p yourpassword
然后:
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