Mysql知识点整理之表(三)
1.表统计信息
1.1 统计每个库的大小
SELECT
TABLE_SCHEMA,
SUM(DATA_LENGTH / 1024 / 1024) AS data_length,
SUM(INDEX_LENGTH / 1024 / 1024) AS index_length,
SUM((DATA_LENGTH+INDEX_LENGTH)/1024/1024) as sum_data_index
FROM
information_schema.`TABLES`
WHERE
TABLE_SCHEMA not IN("information_schema","mysql","performance_schema")
GROUP BY TABLE_SCHEMA
通过查询结果可以看到,当前查询的库的大小。
1.2 统计库中每个表的大小
SELECT
TABLE_NAME,
SUM(DATA_LENGTH/1024) as data_length,
SUM(INDEX_LENGTH/1024) as index_length,
SUM((DATA_LENGTH + INDEX_LENGTH)/1024) as total_size
FROM
information_schema.`TABLES`
WHERE
TABLE_SCHEMA = "demo"
GROUP BY
TABLE_NAME
通过查询结果可以看到,当前查询的demo库的所有表的大小。
1.3 统计所有数据库的大小
SELECT
SUM((DATA_LENGTH + INDEX_LENGTH)/1024/1024)
FROM
information_schema.`TABLES`
2.统计信息的收集方法
2.1 遍历information_schema.TABLES收集表的统计信息
SELECT
*
FROM
information_schema.`TABLES`
WHERE
TABLE_NAME = "test_int";
2.2 使用命令行键入:
注:建议相应的库下进行操作
3 MySql数据库常用命令总结
- show databases;-- 查看当前所有数据库
- use database_name;-- 选择数据库
- show tables;-- 查看某库下所有表
- create database database_name;-- 创建数据库
- drop database database_name;-- 删除数据库
- create table table_name (字段列表);-- 创建表
- drop table table_name;-- 删除表
- delete from table_name [where];-- 删除表数据,(如果有自增的情况,会保留自增属性)
- truncate table table_name;-- 清空表数据,不保留自增属性
- insert into table_name (字段列表) values (值列表);-- 添加数据
- update table_name set 字段名=值 [where];-- 更新数据
- select * from table_name [where];-- 查询数据
- show create table table_name;-- 建表语句
- desc table_name;-- 表结构
- show table status;-- 表基础信息
- show index from table_name;-- 表索引情况
- show full processlist;-- 查看数据库当前连接的情况