如何做到数据库批量insert 数据库如果一个一个导入升级文件的话会很慢,效率很低,如何能做到让几十个数据库批量导入,从而达到升级的目的?请各位高手给予指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主的意思是一台计算机上的MySQL数据库中的多个数据库吗?可以将多个导入文件合并成一个导入文件阿只要在各数据库文件内容中间插入use 数据库名如果要导入的数据库不存在就插入Create Database 数据库名Use 数据库名 导入的文件是升级文件,内容有添加表和修改字段等等,在mysql里的每个数据(如0001,0002)都要执行此升级文件才能达到添加修改表和字段的目的,但是每个数据库都一个个去导入太费时间了,所以想问下如何才能够批量升级 不是,有两个升级文件 ,这两个文件要导入所有的数据库,也就是说每个数据库都要导入次这两个文件,而不是文件每个导入文件对应一个数据库,也就是说mysql中的所有数据库都要执行次这两个文件,是这样子的请问下老师该如何达到此目的 一个数据库要执行两个sql文件,有几十个数据库,如果一个个去执行这两个sql文件,会相当费时间,该则么才能够批量执行 只要执行一个sql文件,然后就是等执行完成阿就像我上面说的那样阿比如数据库有db1,db2,db3,db4你的两个SQL文件如果是这样的第一个文件内容是: insert into….xxxx;第二个文件内容是: update ….xxxx;那就这样写use db1;insert into….xxxx;update ….xxxx;use db2insert into….xxxx;update ….xxxx;use db3insert into….xxxx;update ….xxxx;use db4insert into….xxxx;update ….xxxx;也许还有比这更好的方法等楼下接着说 阿,几十个数据库阿看来不能这么写,sql文件太大了你可以写个.bat文件 写个sql.bat文件,内容如下C:cd Program Files\MySQL\MySQL Server 5.0\binmysql < D:\file1.sql -u root -p db1mysql < D:\file2.sql -u root -p db1yourpasswordmysql < D:\file1.sql -u root -p db2mysql < D:\file2.sql -u root -p db2yourpasswordmysql < D:\file1.sql -u root -p db3mysql < D:\file2.sql -u root -p db3yourpasswordmysql < D:\file1.sql -u root -p db4mysql < D:\file2.sql -u root -p db4exit 如果你的数据库名称是用数字递增的方式区分的,可以用EXCEL生成大量的sql语句,然后一次性导入数据库;如果是其他规则,你只能用程序(或者shell)来控制数据库名称的循环遍历。 不是递增,只是打个比方,则么把升级文件中的ALTER TABLE `CB_SFA_DB_22ad7`.`USER` ADD COLUMN `USER_REG_DATE` VARCHAR(255)NOT NULL DEFAULT '' AFTER `MANAGER_FLG`;修改为$sql="*********";这种格式? Substring 截取 mysql三天两头出错打不开,帮忙看看是什么问题,已经添加my.ini配置文件 求sql语句 Show Index 与 information_schema.statistics mySQL如何开启二进制文件? 很奇怪的一个查询语句 mysql5.0 如何清除日志文件?? 在线急等:jsp+mysql的中文问题,帮忙看一下啊 有什么好用的mssqlserver 2 mysql 的转换工具? 求助,遍历表根据条件case后修改某字段的数据~求问题。。谢谢大神 如何随机后再按数量排序? 在mysql中出现的warnings!!
可以将多个导入文件合并成一个导入文件阿
只要在各数据库文件内容中间插入
use 数据库名
如果要导入的数据库不存在就插入
Create Database 数据库名
Use 数据库名
而不是文件每个导入文件对应一个数据库,也就是说mysql中的所有数据库都要执行次这两个文件,是这样子的
请问下老师该如何达到此目的
能够批量执行
就像我上面说的那样阿
比如数据库有db1,db2,db3,db4
你的两个SQL文件如果是这样的
第一个文件内容是: insert into….xxxx;
第二个文件内容是: update ….xxxx;
那就这样写
use db1;
insert into….xxxx;
update ….xxxx;
use db2
insert into….xxxx;
update ….xxxx;
use db3
insert into….xxxx;
update ….xxxx;
use db4
insert into….xxxx;
update ….xxxx;
也许还有比这更好的方法
等楼下接着说
看来不能这么写,sql文件太大了
你可以写个.bat文件
cd Program Files\MySQL\MySQL Server 5.0\bin
mysql < D:\file1.sql -u root -p db1
mysql < D:\file2.sql -u root -p db1
yourpassword
mysql < D:\file1.sql -u root -p db2
mysql < D:\file2.sql -u root -p db2
yourpassword
mysql < D:\file1.sql -u root -p db3
mysql < D:\file2.sql -u root -p db3
yourpassword
mysql < D:\file1.sql -u root -p db4
mysql < D:\file2.sql -u root -p db4
exit
ALTER TABLE `CB_SFA_DB_22ad7`.`USER` ADD COLUMN `USER_REG_DATE` VARCHAR(255)
NOT NULL DEFAULT '' AFTER `MANAGER_FLG`;
修改为$sql="*********";这种格式?