mysql入门篇2——常用数据字典信息

来源:互联网 发布:中信淘宝信用卡好吗 编辑:程序博客网 时间:2024/05/22 03:09


如果想了解某个数据库,首先就需要知道,它的数据字典信息的存放,这样就可以查看到一些操作对数据库字典信息的更改,如果创建一索引,查看索引的类型等其他信息。


1、常用字典表

mysql的字典信息都存放在information_schema库中,常用的字典表有:

INFORMATION_SCHEMA.SCHEMATA  --数据库中所有数据库信息
INFORMATION_SCHEMA.TABLES  --存放数据库中所有数据库表信息
INFORMATION_SCHEMA.COLUMNS  --所有数据库表的列信息
INFORMATION_SCHEMA.STATISTICS  --存放索引信息
INFORMATION_SCHEMA.USER_PRIVILEGES  --
INFORMATION_SCHEMA.SCHEMA_PRIVILEGES
INFORMATION_SCHEMA.TABLE_PRIVILEGES
INFORMATION_SCHEMA.COLUMN_PRIVILEGES
INFORMATION_SCHEMA.CHARACTER_SETS
INFORMATION_SCHEMA.COLLATIONS
INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY
INFORMATION_SCHEMA.TABLE_CONSTRAINTS
INFORMATION_SCHEMA.KEY_COLUMN_USAGE ---存放数据库里所有具有约束的键信息
INFORMATION_SCHEMA.ROUTINES
INFORMATION_SCHEMA.VIEWS  --存放所有视图信息
INFORMATION_SCHEMA.TRIGGERS  --触发器信息

而对于学习源码的码农来讲,可能经常使用的是其中的tables、statistics,之所以这两张常用,是因为在查看执行计划时,需要用到什么索引,以及索引的类型,这对于数据库的优化来讲,非常重要,而我也主要学习查询优化这部分。对于其他一些模块的学习,如安全等,可能使用的字典表信息则是其他表。


2、索引创建和删除

为什么会提到索引的创建和删除呢,主要是因为,创建索引和删除索引是我以后需要经常执行的SQL,这部分语法,与一些常用数据库存在一些差别,如ORACLE,

mysql创建索引的简单语句为:create index idx_name on table_name(column_lst);

删除索引,则存在很大不同之处:drop index idx_name from table_name;

与一般SQL语句的删除语句相比,多了后面的from子句;


对于其他一些SQL语句的书写,不做介绍,可以参数mysql手册;