Mysql版本不支持存储过程,怎样循环处理数据库? 我有N个数据库,db1,db2,db3...dbn,每个数据库里有一张表t。我想对每个数据库里的表t进行相同的字段修改,但是当前版本不支持存储过程。请问用过脚本怎样处理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在EXCEL中利用公式生成这个语句,然后一次性复制到MYSQL命令行工具中执行即可。 这个方法我之前也有请教过。现在只是想通过sql脚本来实现这个功能。但sql语法实在太薄弱。 #!/bin/bashfor i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20;domysql -uroot -p123 db${i} -e 'ALTER ..........'echo -e "db${i} is done!"done mysql> set @i=0;Query OK, 0 rows affected (0.00 sec) mysql> select concat('alter db',@i:=@i+1,'.tablename ..') from User limit 10;+---------------------------------------------+| concat('alter db',@i:=@i+1,'.tablename ..') |+---------------------------------------------+| alter db1.tablename .. || alter db2.tablename .. || alter db3.tablename .. || alter db4.tablename .. || alter db5.tablename .. || alter db6.tablename .. || alter db7.tablename .. || alter db8.tablename .. || alter db9.tablename .. || alter db10.tablename .. |+---------------------------------------------+10 rows in set (0.01 sec) 上锁 MySql 3.51下再求一个查询 Excel 数据导入Mysql数据库中文乱码问题 ubuntu下mysql问题 postgresql数据库为什么无法更新? 这个问题会有答案吗 怎样整合这两个sql文? 有谁用slony做过postgresql的双机热备? 请教增加外键的sql语句 事务隔离级别 mysql亿计的数据存放设计方案 MySQL 主从复制,重复复制问题
现在只是想通过sql脚本来实现这个功能。但sql语法实在太薄弱。
#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20;
do
mysql -uroot -p123 db${i} -e 'ALTER ..........'
echo -e "db${i} is done!"
done
mysql> set @i=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select concat('alter db',@i:=@i+1,'.tablename ..') from User limit 10;
+---------------------------------------------+
| concat('alter db',@i:=@i+1,'.tablename ..') |
+---------------------------------------------+
| alter db1.tablename .. |
| alter db2.tablename .. |
| alter db3.tablename .. |
| alter db4.tablename .. |
| alter db5.tablename .. |
| alter db6.tablename .. |
| alter db7.tablename .. |
| alter db8.tablename .. |
| alter db9.tablename .. |
| alter db10.tablename .. |
+---------------------------------------------+
10 rows in set (0.01 sec)