MYSQL 查询数据库,表及字段的字符集

问题背景

字符集设置问题导致无法存储表情等特殊的符号,需要将utf8改为utf8mb4

-- 检查数据库字符集
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME 
FROM INFORMATION_SCHEMA.SCHEMATA 
WHERE SCHEMA_NAME = 'your_database_name';

-- 检查表字符集
SELECT TABLE_NAME, TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'your_database_name';

-- 检查列字符集
SELECT COLUMN_NAME, CHARACTER_SET_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'your_database_name' 
  AND TABLE_NAME = 'your_table_name';

修改语句

修改数据库字符集:

ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

修改表字符集:

ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

修改列字符集:

ALTER TABLE your_table_name MODIFY logisticsTrack VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

你可能感兴趣的:(mysql,oracle,数据库)