У меня есть несколько таблиц MySQL с именами в форме "Shard_0", "Shard_1", "Shard_2" ... "Shard_n"
Все они имеют одинаковую структуру таблиц. Все они живут в одной базе данных.
Скажем, я хочу добавить столбец во все эти таблицы. Есть ли способ сделать это программно?
Что-то вроде:
# pseudo code
for i in range(n):
tablename = "shard_"+str(i)
ALTER TABLE tablename ...
Возможно ли такое сделать? Если да, то какой язык и / или библиотека мне нужны?
Спасибо
Вы можете сделать это с помощью сценария 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