时间:2021-07-01 10:21:17 帮助过:5人阅读
在工作中碰到这样的需求,要mysql执行大量脚本来更新数据库。查了mysql的source命令,只能执行一个脚本文件。我试了source /sqkd
在工作中碰到这样的需求,要mysql执行大量脚本来更新数据库。查了mysql的source命令,只能执行一个脚本文件。我试了source /sqkdir/*.sql;不行。mysql不能把*.sql作为文件名通配符来处理。后来请教了别人,,找到了办法。利用Linux管道,执行如下命令:
cat /sqldir/*.sql | mysql -u username -p
这样就实现了让mysql执行大量脚本文件。
原理是这样的,cat会把所有的文件链接起来输出到缺省输出,然后用管道把这些文件输出到mysql,mysql将这些文件作为输入,会执行其中的脚本。