(17) 资料库资讯
一个建立好并且运作中的数据库,通常会包含表格、字段与索引,为了扩充数据库的功能,也可能会加入stored routines与triggers元件。MySQL把这些数据库的资讯放在“information_schema”数据库,下列是这个数据库中主要的表格:
表格名称 | 说明 |
---|---|
CHARACTER_SETS | MySQL数据库支援的字符集 |
COLLATIONS | MySQL数据库支援的collation |
COLLATION_CHARACTER_SET_APPLICABILITY | 字符集与collation对应资讯 |
COLUMNS | 字段资讯 |
COLUMN_PRIVILEGES | 字段授权资讯 |
KEY_COLUMN_USAGE | 索引字段的限制资讯 |
ENGINES | MySQL数据库支援的储存引擎 |
GLOBAL_STATUS | MySQL数据库服务器状态资讯 |
GLOBAL_VARIABLES | MySQL数据库服务器变量资讯 |
KEY_COLUMN_USAGE | 索引键资讯 |
ROUTINES | Stored routines资讯 |
SCHEMATA | 数据库资讯 |
SESSION_STATUS | 用户端连线状态资讯 |
SESSION_VARIABLES | 用户端连线变量资讯 |
STATISTICS | 表格索引资讯 |
TABLES | 表格资讯 |
TABLE_CONSTRAINTS | 表格限制资讯 |
TABLE_PRIVILEGES | 表格授权资讯 |
TRIGGERS | Triggers资讯 |
USER_PRIVILEGES | 使用者授权资讯 |
VIEWS | Views资讯 |
“information_schema”数据库称为“database metadata”,包含数据库元件与服务器运作的完整资讯都储存在这个数据库中。你不须要自己建立与维护“information_schema”数据库,它是由MySQL数据库服务器负责建立与维护的。你只能够在需要的时候,使用“SELECT”叙述来查询储存在里面的资料。
下列的查询叙述可以传回MySQL数据库服务器中所有的stored routines资讯:
在之前所讨论过的查询叙述用法,都可以用来查询“information_schema”数据库:
2 SHOW指令
除了使用查询叙述直接查询“information_schema”数据库中的资讯外,MySQL数据库服务器供有许多不同用法的“SHOW”指令,同样可以查询数据库资讯。“SHOW”指令是MySQL数据库服务器专用的指令,并不是标准的SQL叙述。
2.1 数据库元件资讯
下列的“SHOW”指令语法可以查询MySQL数据库服务器中的数据库资讯:
“SHOW DATABASES”指令也可以搭配使用“LIKE”关键字:
注:字串样式的设定在“基础查询、条件查询、字串样式”中讨论。
下列的“SHOW”指令语法可以查询MySQL数据库服务器中的表格资讯:
“SHOW TABLES”叙述会传回目前使用中数据库的所有表格名称,你可以搭配“FROM”与“LIKE”关键字查询需要的表格资讯:
“SHOW TABLES”叙述只会传回表格名称,如果需要详细的表格资讯,可以使用下列的“SHOW TABLE STATUS”叙述:
“SHOW TABLE STATUS”叙述可以搭配“LIKE”或“WHERE”关键字:
下列的“SHOW”指令语法可以查询MySQL数据库服务器中的字段资讯:
“SHOW COLUMNS FROM 表格”叙述会传回目前使用中数据库,指定表格名称的字段资讯,你可以搭配第二个“FROM”关键字指定数据库:
下列的“SHOW”指令语法可以查询MySQL数据库服务器中的索引资讯:
“SHOW INDEX FROM 表格”叙述会传回目前使用中数据库,指定表格名称的索引资讯,你可以搭配第二个“FROM”关键字指定数据库:
下列的“SHOW”指令语法可以查询MySQL数据库服务器中的trigger资讯:
“SHOW TRIGGERS”叙述会传回目前使用中数据库的所有trigger资讯,你可以搭配“FROM”关键字指定数据库;“LIKE”或“WHERE”关键字可以设定查询条件:
2.2 建立元件资讯
下列的“SHOW”指令语法可以查询MySQL数据库服务器中建立各种元件的详细资讯:
指令 | 说明 |
---|---|
SHOW CREATE DATABASE 数据库名称 | 查询建立数据库的详细资讯 |
SHOW CREATE TABLE 表格名称 | 查询建立表格的详细资讯 |
SHOW CREATE FUNCTION 名称 | 查询建立Function的详细资讯 |
SHOW CREATE PROCEDURE 名称 | 查询建立Procedure的详细资讯 |
SHOW CREATE VIEW 名称 | 查询建立View的详细资讯 |
下列的叙述可以查询建立“world.city”表格的叙述:
2.3 字符集与collation
下列的“SHOW”指令语法可以查询MySQL数据库服务器中的字符集与collation资讯:
“SHOW CHARACTER SET”与“SHOW COLLATION”叙述都可以搭配“LIKE”或“WHERE”关键字设定查询条件:
2.4 其它资讯
下列的“SHOW”指令语法可以查询MySQL数据库服务器中支援的储存引擎资讯:
下列的“SHOW”指令语法可以查询MySQL数据库服务器状态与系统变量资讯:
下列的叙述可以查询MySQL数据库服务器中与字符集相关的变量资讯:
3 DESCRIBE指令
“DESCRIBE”是MySQL数据库服务器提供的特殊指令,并不是标准的SQL叙述。它可以查询指定表格的字段资讯:
“DESCRIBE”叙述可以指定要查询的字段名称,或是使用样版字串设定查询条件:
4 mysqlshow
MySQL数据库服务器提供一个可以在命令提示字符下执行的工具程式“mysqlshow”:
“mysqlshow”工具程式有下列几种不同的用法: