对于数据库,您似乎需要查看 SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA .
60
对于 tables 和 columns :
show create table your_table_name
28
对于 tables :
SHOW TABLE STATUS 将列出所有表格 .
过滤使用:
SHOW TABLE STATUS where name like 'table_123';
624
对于 databases :
只需使用以下命令:
USE db_name;
SELECT @@character_set_database;
-- or:
-- SELECT @@collation_database;
418
SELECT TABLE_SCHEMA,
TABLE_NAME,
CCSA.CHARACTER_SET_NAME AS DEFAULT_CHAR_SET,
COLUMN_NAME,
COLUMN_TYPE,
C.CHARACTER_SET_NAME
FROM information_schema.TABLES AS T
JOIN information_schema.COLUMNS AS C USING (TABLE_SCHEMA, TABLE_NAME)
JOIN information_schema.COLLATION_CHARACTER_SET_APPLICABILITY AS CCSA
ON (T.TABLE_COLLATION = CCSA.COLLATION_NAME)
WHERE TABLE_SCHEMA=SCHEMA()
AND C.DATA_TYPE IN ('enum', 'varchar', 'char', 'text', 'mediumtext', 'longtext')
ORDER BY TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME
;
15
这是我怎么做的 -
对于架构:
SELECT default_character_set_name FROM information_schema.SCHEMATA
WHERE schema_name = "schemaname";
对于表格:
SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = "schemaname"
AND T.table_name = "tablename";
对于列:
SELECT character_set_name FROM information_schema.`COLUMNS`
WHERE table_schema = "schemaname"
AND table_name = "tablename"
AND column_name = "columnname";
97
对于 columns :
SHOW FULL COLUMNS FROM table_name;
44
对于 databases :
USE your_database_name;
show variables like "character_set_database";
-- or:
-- show variables like "collation_database";
13 回答
我总是只看
SHOW CREATE TABLE mydatabase.mytable
.对于数据库,您似乎需要查看
SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA
.对于 tables 和 columns :
对于 tables :
SHOW TABLE STATUS
将列出所有表格 .过滤使用:
对于 databases :
只需使用以下命令:
这是我怎么做的 -
对于架构:
对于表格:
对于列:
对于 columns :
对于 databases :
参看this page . 并查看MySQL手册
For all the databases 您在服务器上:
输出:
对于 single Database :
输出:
获得整理 for Tables :
或 - 将输出create table的完整SQL:
mysql> show create table my_tablename
得到 columns 的整理:
输出:
对于 databases :
示例输出:
对于 databases :
在创建数据库(MySQL)时,默认字符集/排序规则始终是LATIN,而是在最初创建数据库时选择了不同的字符集/排序规则
要查看数据库的默认排序规则:
要查看表的排序规则:
要查看列的排序规则:
正如之前所写的那样,SHOW FULL COLUMNS应该是获取列信息的首选方法 . 缺少的是一种在没有直接访问元数据表的情况下获取字符集的方法: