首先这些技术需要用很多mysql内部的一些常量或者说内部表,现总结一部分如下(不断更新):
一、mysql内部常量或者内部表
表于数据库的
DATABASES 所有数据名
Engine 使用的数据库引擎[MyISAM|CSV|InnoDB]
Version 版本
关于表的
tables 所有表
table_name 表名
table_type 表类型
table_schema 数据表所属的数据库名
Table_catalog 数据表登记目录
Table_rows 表里所存多少行数据
Create_time 表的创建时间
Update_time 表的更新时间
Table_comment 表的注释、备注
关于字段的
COLUMNS 所有字段
COLUMN_NAME 字段名
COLUMN_TYPE 字段类型
COLUMN_KEY 字段主键
Data_length 数据长度
Max_data_length 最大数据长度
Ordinal_position 字段在表中第几列
Column_default 列的默认数据
Is_nullable 字段是否可以为空
Data_type 数据类型
Column_comment 字段注释、描述
Character_maximum_length 字符最大长度
SHOW DATABASES 列出 MySQL Server上的数据库。
SHOW TABLES [FROM db_name] 列出数据库中的表。
SHOW TABLE STATUS [FROM db_name] 列出数据库的表信息,比较详细。
SHOW COLUMNS FROM tbl_name [FROM db_name] 列出表的列信息,同 SHOW FIELDS FROM tbl_name [FROM db_name],DESCRIBE tbl_name 。
SHOW FULL COLUMNS FROM tbl_name [FROM db_name] 列出表的列信息,比较详细,同 SHOW FULL FIELDS FROM tbl_name [FROM db_name]。
SHOW INDEX FROM tbl_name [FROM db_name] 列出表的索引信息。 SHOW STATUS列出 Server 的状态信息。
SHOW VARIABLES 列出 MySQL 系参数值
SHOW PROCESSLIST 查看当前mysql查询进程
SHOW GRANTS FOR user 列出用户的授权命令
二、mysql分表
比如,我们建立三个表,表结构相同,表名分别为:tab_1、tab_2、tab_3、tab_4、tab_5.。。。。。。
当然,我们在用分表技术的时候,都是用程序建立,不会用手动建立的。
三、mysql分表后的查询
查询时我们需要用到mysql的系统常量
select table_name from INFORMATION_SCHEMA.TABLES where table_name LIKE 'tab_%'
这样可以查出所有的tab_开始的表名,然后再进行循环查询数据。
获取表索引
SELECT * FROM information_schema.STATISTICS WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名'