![如何从文本文件运行多行sql](https://linux22.com/image/173052/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E8%BF%90%E8%A1%8C%E5%A4%9A%E8%A1%8Csql.png)
file.txt 有多个 sql 更新。
update table1 set meta_url = replace(meta_url,'test1.jpg','test1.gif');
update table1 set meta_url = replace(meta_url,'test2.jpg','test2.gif');
update table1 set meta_url = replace(meta_url,'test3.jpg','test3.gif');
update table1 set meta_url = replace(meta_url,'test4.jpg','test4.gif');
update table1 set meta_url = replace(meta_url,'test5.jpg','test5.gif');
...
update table1 set meta_url = replace(meta_url,'test100.jpg','test100.gif');
我想创建一个允许自动连接的脚本,并一次执行 file.txt 中的所有行。
像这样的概念:
mysql -u root -p ( user and password log automatic by script)
use databasename1;
update all line in file.txt
exit;
service mysql restart
答案1
我建议不要将密码存储在系统上的文件中。
mysql -u root --database=yourdatabase -p < file.sql
这将提示您输入密码,然后运行文件中的 SQL 命令。