mysql 数据库信息探索

mysql 数据库信息探索

(1)查询数据库的表数量

SELECT COUNT(*) TABLES, table_schema 
FROM information_schema.TABLES
GROUP BY table_schema;

(2)查询指定数据库(db_one)的表数量

SELECT COUNT(*) TABLES, table_schema 
FROM information_schema.TABLES
WHERE table_schema = 'db_one';

(3)查询表结构

a. 使用 DESCRIBE 或者 desc

DESCRIBE a_table_name;
desc a_table_name

example:
mysql> desc tb_class;
+---------+-------------+------+-----+---------+----------------+
| Field   | Type        | Null | Key | Default | Extra          |
+---------+-------------+------+-----+---------+----------------+
| Id      | int(11)     | NO   | PRI | NULL    | auto_increment |
| clsNo   | varchar(3)  | NO   |     | NULL    |                |
| clsName | varchar(20) | NO   |     | NULL    |                |
| sp_Id   | int(11)     | YES  | MUL | NULL    |                |
+---------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

MySQL Key值(PRI, UNI, MUL)的含义:
  PRI主键约束  UNI唯一约束  MUL可以重复

b. 使用 explain

explain a_table_name

(4)查询主键字段名

SELECT column_name 
FROM INFORMATION_SCHEMA.`KEY_COLUMN_USAGE` 
WHERE table_name='表名' AND constraint_name='PRIMARY'

(5)查看一个表的字段数量

请对比 (2)查询表结构 desc 的结果的行数。

SELECT count(*)
FROM information_schema.`COLUMNS`
WHERE TABLE_SCHEMA = '数据库名' AND TABLE_NAME = '表名'

(6)统计数据表保存的数据量

(可能表信息未更新,导致得到的数据量与直接count的不一样)

use information_schema;
SELECT TABLE_NAME, TABLE_ROWS
FROM TABLES 
WHERE TABLE_SCHEMA = '库名' and table_name = '表名'

(7)查看建表信息

show create table 表名;

(8)查看分区信息

show partitions 表名

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值