-- 获取所有以"aurora"开头的库中的信息
SELECT
SCHEMA_NAME
FROM
information_schema.SCHEMATA
WHERE
SCHEMA_NAME LIKE 'aurora%';
-- 生成修改库结构的脚本
SELECT
CONCAT(
'ALTER DATABASE ',
SCHEMA_NAME,
' CHARACTER SET utf8 COLLATE utf8_general_ci;'
) AS DATABASE_SQL_SCRIPT
FROM
information_schema.SCHEMATA
WHERE
SCHEMA_NAME LIKE 'aurora%';
-- 获取所有以"aurora"开头的库中的表的信息
SELECT
TABLE_NAME,
TABLE_SCHEMA
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'aurora%';
-- 生成修改表结构的脚本
SELECT
CONCAT(
'ALTER TABLE ',
TABLE_SCHEMA, '.',
TABLE_NAME,
' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;'
) AS TABLE_SQL_SCRIPT
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'aurora%';
-- 获取所有以"aurora"开头的库中的字符串类型字段的信息
SELECT
TABLE_NAME,
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
IS_NULLABLE,
COLUMN_DEFAULT,
COLUMN_COMMENT,
TABLE_SCHEMA
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA LIKE 'aurora%'
AND DATA_TYPE IN ('varchar', 'char', 'tinytext', 'text', 'mediumtext', 'longtext');
-- 生成修改表字段的脚本
SELECT
CONCAT(
'ALTER TABLE ',
TABLE_SCHEMA, '.',
TABLE_NAME,
' MODIFY ',
COLUMN_NAME, ' ',
IF(CHARACTER_MAXIMUM_LENGTH IS NULL OR DATA_TYPE IN ('longtext', 'text'), DATA_TYPE, CONCAT(DATA_TYPE, '(', CHARACTER_MAXIMUM_LENGTH, ')')),
' CHARACTER SET utf8 COLLATE utf8_general_ci',
IF(IS_NULLABLE = 'NO', ' NOT NULL', ''),
IF(COLUMN_DEFAULT IS NOT NULL AND COLUMN_DEFAULT != '', CONCAT(' DEFAULT ', QUOTE(COLUMN_DEFAULT)), IF(COLUMN_DEFAULT IS NULL, '', ' DEFAULT ""')),
IF(COLUMN_COMMENT IS NOT NULL, CONCAT(' COMMENT "', COLUMN_COMMENT, '"'), ''),
';'
) AS COLUMN_SQL_SCRIPT
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA LIKE 'aurora%'
AND DATA_TYPE IN ('varchar', 'char', 'tinytext', 'text', 'mediumtext', 'longtext');
01-31
440
440
12-30
1157
1157





