MySQL - 如何更改所有数据库中的列数据类型?

MySQL - How to alter column datatype in all databases?

在我的远程服务器上,我需要更新所有数据库中 table 中的列。我怎样才能一次完成这一切?我有超过一百个具有相同 table.

的数据库
ALTER TABLE tablename MODIFY columnname VARCHAR(255);

您可以编写一个 SQL 查询来发出执行此操作的脚本。该查询查看 information_schema table 描述服务器中的列,并生成一系列 ALTER 查询。然后你 运行 那些查询。

SELECT CONCAT(' ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, 
              '` MODIFY `',COLUMN_NAME,'` VARCHAR(255);') ddl 
  FROM information_schema.`COLUMNS` 
 WHERE TABLE_NAME = 'tablename' 
   AND COLUMN_NAME IN ('columnname')

没有任何 oneliner 可以做 ALTER TABLE *.tablename 或类似的事情。