python - 可以以编程方式更改多个 MySQL 表吗?

标签 python mysql database schema database-administration

我有多个 MySQL 表,其名称格式为 "Shard_0", "Shard_1", "Shard_2" ... "Shard_n"它们都具有相同的表结构。它们都位于同一个数据库中。

假设我想向所有这些表添加一列。有没有办法以编程方式做到这一点?

类似于:

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

有可能做这样的事情吗?如果是这样,我需要什么语言和/或库?

谢谢

最佳答案

没问题。 Python 有几个第三方库可以连接到数据库。但如果您只需要执行一次此操作,最简单的方法是使用 Python 脚本将 SQL 指令写入 stdout:

for i in range(n):
    tablename = "shard_"+str(i)
    print 'ALTER TABLE tablename ...'

然后只需从 CLI 中调用它,如下所示:

./sqlgenscript.py | mysql -u username -p

关于python - 可以以编程方式更改多个 MySQL 表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4030579/

相关文章:

python - 为 pandas 数据框中逗号分隔字符串中的每个项目添加 +1

python - Windows 7 是否自动为 Python 3 代码使用多处理器?

php - 如何在 MySQL 中存储复杂的产品/订单数据?

java - 测试从数据库查询结果集中返回唯一值的方法

python - numpy数组任意列之间的(内存)高效操作

python - 复制列表错误Python(康威生命游戏的一部分)

mysql - 如何管理MySQL数据库中的条件列?

mysql - 何时使用索引

mysql - 只考虑 NULL 值

c# - 使用相同的 SQL 命令但不同的值从数据库获取行