可能以编程方式ALTER多个MySQL表?

我有多个forms为"Shard_0", "Shard_1", "Shard_2" ... "Shard_n" MySQL表格,它们都具有相同的表结构。 他们都住在同一个数据库中。

说我想要添加一列到所有这些表。 有没有办法做到这一点编程?

就像是:

 # pseudo code for i in range(n): tablename = "shard_"+str(i) ALTER TABLE tablename ... 

有没有可能做这样的事情? 如果有的话,我需要什么语言和/或图书馆?

谢谢

你可以用bash脚本和pipe道来做到这一点

 #!/bin/bash DBNAME="YourDatabaseName" TNAME=shard_ TVAL="0" echo "USE $DBNAME;" while [ $TVAL -lt 10 ] do echo "ALTER TABLE $TNAME$TVAL ...;" TVAL=$[$TVAL+1] done 

并使用它

 ./scriptname | mysql -u user -p