MySQL字典存储着MySQL中所有的数据库,数据表,字段名称,数据类型,索引,用户权限等等。MySQL的每个数据库都有一张系统表,该表中记录了该数据库中的所有对象信息。MySQL字典负责管理同一个MySQL实例中的这些系统表之间的关联关系。
mysql> SHOW TABLES; +----------------------+ | Tables_in_my_database | +----------------------+ | table1 | | table2 | | table3 | +----------------------+ 3 rows in set (0.00 sec) mysql> DESCRIBE table1; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(30) | YES | | NULL | | | age | int(11) | YES | | NULL | | +-------+----------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
如上所示,SHOW TABLES命令从MySQL字典中拉取了system schema中存储了my_database数据库中的表信息并将其展示给用户。同时,DESCRIBE table1命令还从MySQL字典中检索了关于table1表的详细信息,包括其字段定义。
MySQL字典的作用是管理MySQL系统表和用户表之间的关系,从而为MySQL提供了元数据和表结构定义等信息。有了MySQL字典,大家就可以方便地查询数据库和表的信息,对数控制权进行更好的管理和控制。