information_schema元数据库
元数据数据库
在mysql中information_schema 库是存储的是MySQL 的元数据。
元数据包括所有的库名、表名、列名等。
层级关系
库 --> 表 --> 列 ,字段–> 记录。
information_schema原始库
information_schema
|
+-- schemata # 所有的库名
| |
| `-- schema_name # 库名
|
+-- tables # 存储了MySQL 数据库中所有的表
| |
| +-- table_name # 表名
| |
| `-- table_schema # 表名所属的库名
|
`-- columns # 存储了MySQL 中所有的列
|
+-- column_name # 列名
|
+-- table_name # 列所属的表
|
`-- table_schema # 列所属的库
schema 表
information_schema这个数据库中的schemata这张表里的schema_name列里存放着所有库的名字
schemata是存储现有数据库信息的 里面的列头 schema_name代表这一列是存储所有数据库的库名
查询所有数据库的库名
select schema_name from information_schema.schemata;
tables表
information_schema这个数据库中的tables这张表里的table_name这一列里存放着所有表名
information_schema这个数据库中的tables这张表里的table_schema这一列里存放着所有表所属的数据库的库名
select table_name,table_schema from information_schema.tables; 查询所有表名以及所属库
tables是存储数据库的表信息的 里面的列头table_name是存储所有的表名
select table_name from information_schema.tables;
columns 表
information_schema这个数据库中的columns这张表里的column_name这一列里存放着所有数据库的列名
information_schema这个数据库中的columns这张表里的table_name这一列里存放着所有字段所属的表名
information_schema这个数据库中的columns这张表里的table_schema这一列里存放着所有字段所属的数据库名
select column_name,table_name,table_schema from information_schema.columns;
select column_name from information_schema.columns;
练习
1进入元数据数据库 使用 use命令使用数据库 use information_schema;
2查看元数据库中所有表名
3查询出该MySQL数据库的所有库名 select schema_name from information_schema.schemata;
4查询xl_bbs 数据库中所有表名 select table_schema, table_name from information_schema.tables where table_schema="xl_bbs" ;
5查询xl_bbs.message 表中所有列名 select column_name,table_name,table_schema from columns where table_name='message';