mysql数据库系统数据库information_schema

来源:互联网 发布:淘宝旗舰店有假货么 编辑:程序博客网 时间:2024/05/22 12:17
查询重复记录
SELECT sub_tab_name,COUNT(*) AS COUNT FROM t_sub_tab_record GROUP BY ori_tab_name HAVING COUNT>1;

查询表字段名(可以跨数据库查询)
SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='bdaudit' AND TABLE_NAME='test';  



------------------------------------------我是分割线--------------------------------------------------


MySQL授权系统通常是通过MySQL数据库中的五个表来实现的,这些表有user、db、host、tables_priv和columns_priv。

user表——该表决定是否允许用户连接到服务器。如果允许连接,权限字段则为该用户的全局权限。

db表——用于决定哪些用户可以从哪些主机访问哪些数据库。包含在db表中的权限适用于这个表标识的数据库。

host表——当您想在db表的范围之内扩展一个条目时,就会用到这个表。举例来说,如果某个db允许通过多个主机访问的话,那么超级用户就可以让db表内将host列为空,然后用必要的主机名填充host表。

tables_priv表——该表与db表相似,不同之处是它用于表而不是数据库。这个表还包含一个其他字段类型,包括timestamp和grantor两个字段,用于存储时间戳和授权方。

columns_priv——该表作用几乎与db和tables_priv表一样,不同之处是它提供的是针对某些表的特定列的权限。这个表也多出了一个字段类型,即其他字段,包括了一个timestamp列,用于存放时间戳。


mysql数据库存储用户表的系统库是information_schema

存储用户表的系统表是tables

字段

含义

Table_catalog

数据表登记目录

Table_schema

数据表所属的数据库名

Table_name

表名称

Table_type

表类型[system view|base table]

Engine

使用的数据库引擎[MyISAM|CSV|InnoDB]

Version

版本,默认值10

Row_format

行格式[Compact|Dynamic|Fixed]

Table_rows

表里所存多少行数据

Avg_row_length

平均行长度

Data_length

数据长度

Max_data_length

最大数据长度

Index_length

索引长度

Data_free

自由数据?

Auto_increment

做自增主键的自动增量当前值

Create_time

表的创建时间

Update_time

表的更新时间

Check_time

表的检查时间

Table_collation

表的字符校验编码集

Checksum

校验和

Create_options

创建选项

Table_comment

表的注释、备注

存储用户表字段的系统表是columns

字段

含义

Table_catalog

数据表登记目录

Table_schema

数据表所属的数据库名

Table_name

所属的表名称

Column_name

列名称

Ordinal_position

字段在表中第几列

Column_default

列的默认数据

Is_nullable

字段是否可以为空

Data_type

数据类型

Character_maximum_length

字符最大长度

Character_octet_length

字节长度?

Numeric_precision

数据精度

Numeric_scale

数据规模

Character_set_name

字符集名称

Collation_name

字符集校验名称

Column_type

列类型

Column_key

关键列[NULL|MUL|PRI]

Extra

额外描述[NULL|on update CURRENT_TIMESTAMP|auto_increment]

Privileges

字段操作权限[select|select,insert,update,references]

Column_comment

字段注释、描述

存储键值的系统表是key_column_usage

字段

含义

Constraint_catalog

约束登记目录

Constraint_schema

约束所属的数据库名

Constraint_name

约束的名称

Table_catalog

数据表等级目录

Table_schema

键值所属表所属的数据库名(一般与Constraint_schema值相同)

Table_name

键值所属的表名

Column_name

键值所属的列名

Ordinal_position

键值所属的字段在表中第几列

Position_in_unique_constraint

键值所属的字段在唯一约束的位置(若为外键值为1)

Referenced_talble_schema

外键依赖的数据库名(一般与Constraint_schema值相同)

Referenced_talble_name

外键依赖的表名

Referenced_column_name

外键依赖的列名

存储主键约束、外键约束、唯一约束、check约束、非空约束的系统表是table_constraints

字段

含义

Constraint_catalog

约束登记目录

Constraint_schema

约束所属的数据库名

Constraint_name

约束的名称

Table_schema

约束依赖表所属的数据库名(一般与Constraint_schema值相同)

Table_name

约束所属的表名

Constraint_type

约束类型[primary key|foreign key|unique|check|not null]

存储索引的系统表是statistics

字段

含义

Table_catalog

数据表登记目录

Table_schema

索引所属表的数据库名

Table_name

索引所属的表名

Non_unique

字段不唯一的标识

Index_schema

索引所属的数据库名(一般与table_schema值相同)

Index_name

索引名称

Seq_in_index

 

Column_name

索引列的列名

Collation

校对,列值全显示为A

Cardinality

基数(一般与该表的数据行数相同)

Sub_part

 

Packed

是否包装过,默认为NULL

Nullable

是否为空[‘’|YES|NO]

Index_type

索引的类型,列值全显示为BTREE(平衡树索引)

Comment

索引注释、备注

 

----------------------------------------------我是分割线-------------------------------------

information_schema数据库表说明:
 
SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
 
TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
 
COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
 
STATISTICS表:提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。
 
USER_PRIVILEGES(用户权限)表:给出了关于全程权限的信息。该信息源自mysql.user授权表。是非标准表。
 
SCHEMA_PRIVILEGES(方案权限)表:给出了关于方案(数据库)权限的信息。该信息来自mysql.db授权表。是非标准表。
 
TABLE_PRIVILEGES(表权限)表:给出了关于表权限的信息。该信息源自mysql.tables_priv授权表。是非标准表。
 
COLUMN_PRIVILEGES(列权限)表:给出了关于列权限的信息。该信息源自mysql.columns_priv授权表。是非标准表。
 
CHARACTER_SETS(字符集)表:提供了mysql实例可用字符集的信息。是SHOW CHARACTER SET结果集取之此表。
 
COLLATIONS表:提供了关于各字符集的对照信息。
 
COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用于校对的字符集。这些列等效于SHOW COLLATION的前两个显示字段。
 
TABLE_CONSTRAINTS表:描述了存在约束的表。以及表的约束类型。
 
KEY_COLUMN_USAGE表:描述了具有约束的键列。
 
ROUTINES表:提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。名为“mysql.proc name”的列指明了对应于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。
 
VIEWS表:给出了关于数据库中的视图的信息。需要有show views权限,否则无法查看视图信息。
 
TRIGGERS表:提供了关于触发程序的信息。必须有super权限才能查看该表




0 0