关于information_schema数据库

information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式.
什么是元数据呢?元数据是关于数据的数据,如数据库名、表名,列的数据类型,或访问权限等。元数据又称“数据词典”或“系统目录”。
此数据库中常用的几个表:
schemata:提供了当前mysql实例中所有数据库的信息.
tables:详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果.
schema: information_schema、performance_schema、keystone、cinder…
表类型:system_view、base table、view
表引擎:memory、innoDB、performance_schema…
表的记录数(列数)
COLUMNS:列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
列名称
所属表名
STATISTICS:索引表。提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表
CHARACTER_SETS:提供了mysql实例可用字符集的信息。是show character set结果集取之此表。
character_set_name:字符集名称
default_collate_name:默认校对集名称
maxlen:最大长度, 存储一个字符的最大长度
举例:
utf8 utf8_general_ci 3
ps:字符集是啥呢?这里的字符集包含了编码规则,utf8是对unicode字符集,进行utf8的编码,一个字符最大用3个字符编码。(utf的编码长度为1~3)

COLLATIONS:提供了关于各字符集的对照信息。通常情况下,一个字符集对应有多个校对集。
collation_name:校对集名称
character_set_name:字符集名称
is_default:是否默认
is_compiled: 表示该collation所对应的character set是否被编译到此mysql数据库
sortlen: 要在内存中排序时,该字符集的字符要占用多少个字节。
比如:
utf8_general_ci utf8 Yes Yes 1
utf8_bin utf8 No Yes 1
utf8_unicode_ci utf8 No Yes 8

同一个 character set 的不同 collation 的区别在于排序、字符对比的准确度(相同两个字符在不同国家的语言中的排序规则可能是不同的)以及性能。ci为case insensitive,大小写不敏感, cs为case sensitive,大小写敏感,utf_bin是二进制。
例如:
utf8_general_ci 在排序的准确度上要逊于 utf8_unicode_ci, 但性能上(排序以及比对速度)要略优于 utf8_unicode_ci.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值