怎么通过SQL语句查看MySQL数据库的表空间状态

怎么通过SQL语句查看MySQL数据库的表空间状态,第1张

1. 查看数据库的索引空间大小

在MySQL Workbench中运行以下SQL语句

— 以GB为单位

SELECT

CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 6), ‘ GB’) AS ‘Total Index Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

— 以MB为单位

SELECT

CONCAT(ROUND(SUM(index_length)/(1024*1024), 6), ‘ MB’) AS ‘Total Index Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

2. 查看数据库的数据空间大小

在MySQL Workbench中运行以下SQL语句:

— 以GB为单位

SELECT

CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 6), ‘ GB’) AS ‘Total Data Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

— 以MB为单位

SELECT

CONCAT(ROUND(SUM(data_length)/(1024*1024), 6), ‘ MB’) AS ‘Total Data Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

3. 查看数据库中所有表的信息

在MySQL Workbench中运行以下SQL语句,查看数据库中所有表的表名、表行数、数据空间大小、索引空间大小和总大小:

SELECT

CONCAT(table_schema,’.’,table_name) AS ‘Table Name’,

table_rows AS ‘Number of Rows’,

CONCAT(ROUND(data_length/(1024*1024),6),’ MB’) AS ‘Data Size’,

CONCAT(ROUND(index_length/(1024*1024),6),’ MB’) AS ‘Index Size’,

CONCAT(ROUND((data_length+index_length)/(1024*1024),6),’ MB’) AS’Total Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。

mysql>show databases

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

| Database |

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

| information_schema |

| hnmcc |

| hnmcc_ecp |

| hnmcc_push |

| hnmcc_sso |

| mysql |

| percona|

| performance_schema |

| test |

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

9 rows in set (0.00 sec)

// 使用mysql自带管理表information_schema.

mysql>use information_schema;

mysql>select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='hnmcc' and table_name='l_log_20160102'

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

| data |

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

| 4803.00MB |

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

1 row in set (0.00 sec)

linux系统进入mysql数据库的方法:

连接MYSQL:

格式: mysql -h主机地址 -u用户名 -p用户密码

1、连接到本机上的MYSQL。

首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:

mysql -h110.110.110.110 -uroot -pabcd123(注:u与root可以不用加空格,其它也一样)

3、退出MYSQL命令: exit (回车)

一个建库和建表以及插入数据的实例:

create database school//建立库SCHOOL

use school//打开库SCHOOL

create table teacher //建立表TEACHER

(

id int(3) auto_increment not null primary key, //id设置为主关键字,并自动设值,也就是添加的时候,你不必向ID字段写内容

name char(10) not null,

address varchar(50) default '深圳', //设置默值为深圳

year date

)//建表结束

//以下为插入字段

insert into teacher values('','glchengang','建平一中','1976-10-10')//ID不用写内容

insert into teacher values('','jack','建平一中','1975-12-23')


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/6151812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存