我有多个 MySQL 表,其名称形式"Shard_0", "Shard_1", "Shard_2" ... "Shard_n"
为 它们都具有相同的表结构。它们都位于同一个数据库中。
假设我想向所有这些表添加一列。有没有办法以编程方式实现这一点?
就像是:
# pseudo code
for i in range(n):
tablename = "shard_"+str(i)
ALTER TABLE tablename ...
可以做这样的事情吗?如果可以,我需要什么语言和/或库?
谢谢
答案1
你可以用 bash 脚本和管道来做到这一点
#!/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