(17) 资料库资讯

最后更新于:2022-04-01 23:40:18

**目录** [TOC] # 1 information_schema数据库 一个建立好并且运作中的数据库,通常会包含表格、字段与索引,为了扩充数据库的功能,也可能会加入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资讯: [![mysql_17_snap_01](http://box.kancloud.cn/2015-09-15_55f7f3ebc275e.png)](http://box.kancloud.cn/2015-07-18_55a9d67a9dd28.png) 在之前所讨论过的查询叙述用法,都可以用来查询“information_schema”数据库: [![mysql_17_snap_02](http://box.kancloud.cn/2015-09-15_55f7f3ec11ec2.png)](http://box.kancloud.cn/2015-07-18_55a9d67b729b4.png) # 2 SHOW指令 除了使用查询叙述直接查询“information_schema”数据库中的资讯外,MySQL数据库服务器供有许多不同用法的“SHOW”指令,同样可以查询数据库资讯。“SHOW”指令是MySQL数据库服务器专用的指令,并不是标准的SQL叙述。 ## 2.1 数据库元件资讯 下列的“SHOW”指令语法可以查询MySQL数据库服务器中的数据库资讯: [![mysql_17_snap_03](http://box.kancloud.cn/2015-09-15_55f7f3ec560ad.png)](http://box.kancloud.cn/2015-07-18_55a9d68dde284.png) “SHOW DATABASES”指令也可以搭配使用“LIKE”关键字: [![mysql_17_snap_04](http://box.kancloud.cn/2015-09-15_55f7f3ecaddd5.png)](http://box.kancloud.cn/2015-07-18_55a9d6950b3f9.png) 注:字串样式的设定在“基础查询、条件查询、字串样式”中讨论。 下列的“SHOW”指令语法可以查询MySQL数据库服务器中的表格资讯: [![mysql_17_snap_05](http://box.kancloud.cn/2015-09-15_55f7f3f3206ed.png)](http://box.kancloud.cn/2015-07-18_55a9d69823063.png) “SHOW TABLES”叙述会传回目前使用中数据库的所有表格名称,你可以搭配“FROM”与“LIKE”关键字查询需要的表格资讯: [![mysql_17_snap_06](http://box.kancloud.cn/2015-09-15_55f7f3f87e652.png)](http://box.kancloud.cn/2015-07-18_55a9d69a925cf.png) “SHOW TABLES”叙述只会传回表格名称,如果需要详细的表格资讯,可以使用下列的“SHOW TABLE STATUS”叙述: [![mysql_17_snap_07](http://box.kancloud.cn/2015-09-15_55f7f403054e5.png)](http://box.kancloud.cn/2015-07-18_55a9d6a6a6c73.png) “SHOW TABLE STATUS”叙述可以搭配“LIKE”或“WHERE”关键字: [![mysql_17_snap_08](http://box.kancloud.cn/2015-09-15_55f7f403bb529.png)](http://box.kancloud.cn/2015-07-18_55a9d6b20ced9.png) 下列的“SHOW”指令语法可以查询MySQL数据库服务器中的字段资讯: [![mysql_17_snap_09](http://box.kancloud.cn/2015-09-15_55f7f405787e6.png)](http://box.kancloud.cn/2015-07-18_55a9d6b3f2e73.png) “SHOW COLUMNS FROM 表格”叙述会传回目前使用中数据库,指定表格名称的字段资讯,你可以搭配第二个“FROM”关键字指定数据库: [![mysql_17_snap_10](http://box.kancloud.cn/2015-09-15_55f7f405efe72.png)](http://box.kancloud.cn/2015-07-18_55a9d6b5817bb.png) 下列的“SHOW”指令语法可以查询MySQL数据库服务器中的索引资讯: [![mysql_17_snap_11](http://box.kancloud.cn/2015-09-15_55f7f406a7b5a.png)](http://box.kancloud.cn/2015-07-18_55a9d6c6ee53a.png) “SHOW INDEX FROM 表格”叙述会传回目前使用中数据库,指定表格名称的索引资讯,你可以搭配第二个“FROM”关键字指定数据库: [![mysql_17_snap_12](http://box.kancloud.cn/2015-09-15_55f7f4071b7df.png)](http://box.kancloud.cn/2015-07-18_55a9d70358145.png) 下列的“SHOW”指令语法可以查询MySQL数据库服务器中的trigger资讯: [![mysql_17_snap_13](http://box.kancloud.cn/2015-09-15_55f7f40779676.png)](http://box.kancloud.cn/2015-07-18_55a9d7183da9d.png) “SHOW TRIGGERS”叙述会传回目前使用中数据库的所有trigger资讯,你可以搭配“FROM”关键字指定数据库;“LIKE”或“WHERE”关键字可以设定查询条件: [![mysql_17_snap_14](http://box.kancloud.cn/2015-09-15_55f7f407dc229.png)](http://box.kancloud.cn/2015-07-18_55a9d71a45b8b.png) ## 2.2 建立元件资讯 下列的“SHOW”指令语法可以查询MySQL数据库服务器中建立各种元件的详细资讯: | 指令 | 说明 | | --- | --- | | SHOW CREATE DATABASE 数据库名称 | 查询建立数据库的详细资讯 | | SHOW CREATE TABLE 表格名称 | 查询建立表格的详细资讯 | | SHOW CREATE FUNCTION 名称 | 查询建立Function的详细资讯 | | SHOW CREATE PROCEDURE 名称 | 查询建立Procedure的详细资讯 | | SHOW CREATE VIEW 名称 | 查询建立View的详细资讯 | 下列的叙述可以查询建立“world.city”表格的叙述: [![mysql_17_snap_15](http://box.kancloud.cn/2015-09-15_55f7f4085fd7d.png)](http://box.kancloud.cn/2015-07-18_55a9d72aa3998.png) ## 2.3 字符集与collation 下列的“SHOW”指令语法可以查询MySQL数据库服务器中的字符集与collation资讯: [![mysql_17_snap_16](http://box.kancloud.cn/2015-09-15_55f7f40e23b8d.png)](http://box.kancloud.cn/2015-07-18_55a9d72c977f6.png) “SHOW CHARACTER SET”与“SHOW COLLATION”叙述都可以搭配“LIKE”或“WHERE”关键字设定查询条件: [![mysql_17_snap_17](http://box.kancloud.cn/2015-09-15_55f7f40e817ff.png)](http://box.kancloud.cn/2015-07-18_55a9d7326f228.png) ## 2.4 其它资讯 下列的“SHOW”指令语法可以查询MySQL数据库服务器中支援的储存引擎资讯: [![mysql_17_snap_18](http://box.kancloud.cn/2015-09-15_55f7f40ed4909.png)](http://box.kancloud.cn/2015-07-18_55a9d73385b5e.png) 下列的“SHOW”指令语法可以查询MySQL数据库服务器状态与系统变量资讯: [![mysql_17_snap_19](http://box.kancloud.cn/2015-09-15_55f7f40f72086.png)](http://box.kancloud.cn/2015-07-18_55a9d73b22ca5.png) 下列的叙述可以查询MySQL数据库服务器中与字符集相关的变量资讯: [![mysql_17_snap_20](http://box.kancloud.cn/2015-09-15_55f7f40fb10a2.png)](http://box.kancloud.cn/2015-07-18_55a9d73c5d9f5.png) # 3 DESCRIBE指令 “DESCRIBE”是MySQL数据库服务器提供的特殊指令,并不是标准的SQL叙述。它可以查询指定表格的字段资讯: [![mysql_17_snap_21](http://box.kancloud.cn/2015-09-15_55f7f41048f51.png)](http://box.kancloud.cn/2015-07-18_55a9d73de765d.png) “DESCRIBE”叙述可以指定要查询的字段名称,或是使用样版字串设定查询条件: [![mysql_17_snap_22](http://box.kancloud.cn/2015-09-15_55f7f4107cca4.png)](http://box.kancloud.cn/2015-07-18_55a9d741dfddc.png) # 4 mysqlshow MySQL数据库服务器提供一个可以在命令提示字符下执行的工具程式“mysqlshow”: [![mysql_17_snap_24](http://box.kancloud.cn/2015-09-15_55f7f410ef7e5.png)](http://box.kancloud.cn/2015-07-18_55a9d74b9e7ff.png) “mysqlshow”工具程式有下列几种不同的用法: [![mysql_17_snap_25](http://box.kancloud.cn/2015-09-15_55f7f4163bc17.png)](http://box.kancloud.cn/2015-07-18_55a9d76419f3e.png)
';