在MySQL中,我可以像这样获得表的名称,引擎和排序规则:
SELECT TABLE_NAME, TABLE_SCHEMA, ENGINE, TABLE_COLLATION
FROM information_schema.tables
WHERE table_name = 'tbl_name';
但是如何获取表的字符集,而不仅仅是排序规则?是否可以从information_schema.tables中获取它?
每个排序规则仅用于一个字符集,因此不必在INFORMATION_SCHEMA.TABLES中记录该字符集。表排序规则足以清楚地指示排序规则和字符集。
您可以检查INFORMATION_SCHEMA.COLLATIONS或INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY以获取从给定排序规则到其字符集的映射。
尝试运行此:
SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "DBNAME";