内嵌数据库mysql_MYSQL内置数据库之information_schema

information_schema是MYSQL中内置的一个数据库,可用show databases;即可看到。

初步了解

通过指令查到的结果如下,足足有61张表。后面将介绍几张比较基本的表。

mysql> use information_schema;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;

+---------------------------------------+

| Tables_in_information_schema |

+---------------------------------------+

| CHARACTER_SETS |

| COLLATIONS |

| COLLATION_CHARACTER_SET_APPLICABILITY |

| COLUMNS |

| COLUMN_PRIVILEGES |

| ENGINES |

| EVENTS |

| FILES |

| GLOBAL_STATUS |

| GLOBAL_VARIABLES |

| KEY_COLUMN_USAGE |

| OPTIMIZER_TRACE |

| PARAMETERS |

| PARTITIONS |

| PLUGINS |

| PROCESSLIST |

| PROFILING |

| REFERENTIAL_CONSTRAINTS |

| ROUTINES |

| SCHEMATA |

| SCHEMA_PRIVILEGES |

| SESSION_STATUS |

| SESSION_VARIABLES |

| STATISTICS |

| TABLES |

| TABLESPACES |

| TABLE_CONSTRAINTS |

| TABLE_PRIVILEGES |

| TRIGGERS |

| USER_PRIVILEGES |

| VIEWS |

| INNODB_LOCKS |

| INNODB_TRX |

| INNODB_SYS_DATAFILES |

| INNODB_FT_CONFIG |

| INNODB_SYS_VIRTUAL |

| INNODB_CMP |

| INNODB_FT_BEING_DELETED |

| INNODB_CMP_RESET |

| INNODB_CMP_PER_INDEX |

| INNODB_CMPMEM_RESET |

| INNODB_FT_DELETED |

| INNODB_BUFFER_PAGE_LRU |

| INNODB_LOCK_WAITS |

| INNODB_TEMP_TABLE_INFO |

| INNODB_SYS_INDEXES |

| INNODB_SYS_TABLES |

| INNODB_SYS_FIELDS |

| INNODB_CMP_PER_INDEX_RESET |

| INNODB_BUFFER_PAGE |

| INNODB_FT_DEFAULT_STOPWORD |

| INNODB_FT_INDEX_TABLE |

| INNODB_FT_INDEX_CACHE |

| INNODB_SYS_TABLESPACES |

| INNODB_METRICS |

| INNODB_SYS_FOREIGN_COLS |

| INNODB_CMPMEM |

| INNODB_BUFFER_POOL_STATS |

| INNODB_SYS_COLUMNS |

| INNODB_SYS_FOREIGN |

| INNODB_SYS_TABLESTATS |

+---------------------------------------+

61 rows in set (0.00 sec)

实验环境

MYSQL 5.7.30

Ubuntu 16.04

自定义数据库user

自定义数据表agent、seller

TABLE_CONSTRAINTS 表约束

表约束就是主键、外键等这些施加在某一列上面的约束。

现在给agent表添加一个外键sellerid指向seller表的sellerid列:

alter table agent add constraint sellerid foreign key(sellerid) references seller(sellerid);

下面看看表agent和seller的约束,可以看出仅仅对agent表有约束,而seller表是没任何约束的。

CONSTRAINT_SCHEMA 数据库名

TABLE_SCHEMA 数据库名

TABLE_NAME 表名

CONSTRAINT_TYPE 约束类型

CONSTRAINT_NAME 约束名

mysql> SELECT * FROM TABLE_CONSTRAINTS WHERE TABLE_NAME = 'agent';

+--------------------+-------------------+-----------------+--------------+------------+-----------------+

| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME | TABLE_SCHEMA | TABLE_NAME | CONSTRAINT_TYPE |

+--------------------+-------------------+-----------------+--------------+------------+-----------------+

| def | user | PRIMARY | user | agent | PRIMARY KEY |

| def | user | sellerid | user | agent | FOREIGN KEY |

+--------------------+-------------------+-----------------+--------------+------------+-----------------+

2 rows in set (0.00 sec)

mysql> select * from TABLE_CONSTRAINTS where table_name = 'seller';

+--------------------+-------------------+-----------------+--------------+------------+-----------------+

| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME | TABLE_SCHEMA | TABLE_NAME | CONSTRAINT_TYPE |

+--------------------+-------------------+-----------------+--------------+------------+-----------------+

| def | user | PRIMARY | user | seller | PRIMARY KEY |

+--------------------+-------------------+-----------------+--------------+------------+-----------------+

1 row in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值