MySQL 提供几种办法以使获取关于数据库和数据库里各种对象(也就是数据库的元数据)的信息,如下:
1、SHOW语句,如SHOW TABLES等等。
2、INFORMATION_SCHEMA数据库里的数据表。
3、命令行程序,如mysqlshow或者是mysqldump。
一、用SHOW语句获取
获取服务器所管理的数据库。 SHOW DATABASES; 查看给定数据库的创建语句。 SHOW CREATE DATABASE db_name;
列出默认数据库里的所有数据表。 SHOW TABLES;
列出给定数据库里的所有数据表。 SHOW TABLES FROM db_name;
查看给定数据表的创建语句。 SHOW CREATE TABLE tbl_name;
查看指定数据表的数据列和索引信息。 SHOW COLUMNS FROM tbl_name; 这个语句和DESC 的输出是一样的。 SHOW INDEX FROM tbl_name;
有几种SHOW语句还可以带有LIKE 'pattern'子句,用来把SHOW语句的输出限定在给定范围,并且允许使用通配符号。
二、从INFORMATION_SCHEMA数据库获取元数据
可以将这个数据库看成一个虚拟的数据库,这个数据库里的数据表是一些由不同的数据库元素数据构成的视图,这个数据库里有以下数据表项:
mysql> show tables from information_schema;+---------------------------------------+| Tables_in_information_schema |+---------------------------------------+| CHARACTER_SETS || COLLATIONS || COLLATION_CHARACTER_SET_APPLICABILITY || COLUMNS || COLUMN_PRIVILEGES || ENGINES || EVENTS || FILES || GLOBAL_STATUS || GLOBAL_VARIABLES || KEY_COLUMN_USAGE || PARTITIONS || PLUGINS || PROCESSLIST || PROFILING || REFERENTIAL_CONSTRAINTS || ROUTINES || SCHEMATA || SCHEMA_PRIVILEGES || SESSION_STATUS || SESSION_VARIABLES || STATISTICS