我有N个数据库,db1,db2,db3...dbn,每个数据库里有一张表t。
我想对每个数据库里的表t进行相同的字段修改,但是当前版本不支持存储过程。
请问用过脚本怎样处理。

解决方案 »

  1.   

    在EXCEL中利用公式生成这个语句,然后一次性复制到MYSQL命令行工具中执行即可。
      

  2.   

    这个方法我之前也有请教过。
    现在只是想通过sql脚本来实现这个功能。但sql语法实在太薄弱。
      

  3.   


    #!/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
      

  4.   


    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)