[MySQL] Modifica por lotes el conjunto de caracteres de la tabla de datos y todos los campos de la tabla de datos.

Una declaración para consultar todos los nombres de tablas en una base de datos:

# 更改 DATABASE_NAME
SELECT TABLE_NAME from information_schema.`TABLES` WHERE TABLE_SCHEMA = 'DATABASE_NAME';

Empalme el nombre de la tabla en la declaración anterior para cambiar la codificación de la tabla (juego de caracteres) y la codificación (juego de caracteres) de todos los campos de la tabla, y obtenga la siguiente declaración:

# 根据转换字符集 修改 utf8mb4 ---> utf8mb4_general_ci
SELECT
	CONCAT(
		'ALTER TABLE ',
		TABLE_NAME,
		' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;'
	)
FROM
	information_schema.`TABLES`
WHERE
	TABLE_SCHEMA = 'DATABASE_NAME';  # 更改 DATABASE_NAME

El conjunto de resultados obtenido por la ejecución de la declaración se copia para ser la declaración de actualización por lotes, que se puede ejecutar en la base de datos

Supongo que te gusta

Origin blog.csdn.net/qq_22227087/article/details/108535499
Recomendado
Clasificación