<code>SHOW TABLE STATUS LIKE '表名' \G; </code>
创建表时指定字符集
1 2 3 4 5
<code>CREATE TABLE 表名 ( id INT PRIMARY KEY, name VARCHAR(50) ) DEFAULT CHARSET=utf8mb4; </code>
修改表字符集
1 2 3 4 5 6
<code>-- 修改表整体字符集 ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4;
-- 修改单个字段字符集 ALTER TABLE 表名 MODIFY COLUMN name VARCHAR(50) CHARACTER SET utf8mb4; </code>
元数据查询(查询数据库 / 表的信息)
元数据是描述数据库、表、字段的数据,可通过information_schema系统库查询。
查询所有数据库
1 2 3
<code>SELECT SCHEMA_NAME FROM information_schema.SCHEMATA; -- 等价于SHOW DATABASES;,但更符合SQL标准 </code>
查询指定数据库的所有表
1 2 3 4 5 6 7
<code>SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = '目标数据库名';
-- 示例:查询test_db的所有表 SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'test_db'; </code>
查询指定表的所有字段
1 2 3 4 5 6 7 8 9 10 11 12
<code>SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '目标数据库名' AND TABLE_NAME = '目标表名' ORDER BY ORDINAL_POSITION; -- 按字段顺序排序
-- 示例:查询test_db中users表的字段信息 SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'test_db' AND TABLE_NAME = 'users' ORDER BY ORDINAL_POSITION;</code>