mysql查看当前所有数据库中的表大小和元信息

查看所有mysql数据库表和索引大小

select table_schema,table_comment, concat(truncate(sum(data_length)/1024/1024,2),' mb') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),'mb') as index_size
from information_schema.tables
group by table_schema
order by data_length desc;

或者
SELECT 
CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size, 
CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size, 
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free, 
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size, 
TABLE_SCHEMA 
FROM information_schema.tables 
group by TABLE_SCHEMA;

在这里插入图片描述
在这里插入图片描述

mysql查看当前某个数据库和数据库下所有的表的大小

select table_name,table_comment, concat(truncate(data_length/1024/1024,2),' mb') as data_size,
concat(truncate(index_length/1024/1024,2),' mb') as index_size
from information_schema.tables where table_schema = 'face'
group by table_name
order by data_length desc;

在这里插入图片描述

mysql查看当前某个数据库和某个表的大小

select table_name,TABLE_COMMENT, concat(truncate(data_length/1024/1024,2),' mb') as data_size,
concat(truncate(index_length/1024/1024,2),' mb') as index_size
from information_schema.tables where table_schema = 'face'
and table_name='kejiyuan';

在这里插入图片描述

查看表字段信息

select
COLUMN_NAME 字段名,
column_comment 字段说明,
column_type 字段类型,
column_key 约束 from information_schema.columns
where table_schema = 'crm'
and table_name = 'sys_post' ;show full columns from  表名

在这里插入图片描述

columns信息

CREATE TEMPORARY TABLE `COLUMNS` (
  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
  `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
  `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
  `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
  `COLUMN_DEFAULT` longtext,
  `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '',
  `DATA_TYPE` varchar(64) NOT NULL DEFAULT '',
  `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,
  `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,
  `DATETIME_PRECISION` bigint(21) unsigned DEFAULT NULL,
  `CHARACTER_SET_NAME` varchar(32) DEFAULT NULL,
  `COLLATION_NAME` varchar(32) DEFAULT NULL,
  `COLUMN_TYPE` longtext NOT NULL,
  `COLUMN_KEY` varchar(3) NOT NULL DEFAULT '',
  `EXTRA` varchar(30) NOT NULL DEFAULT '',
  `PRIVILEGES` varchar(80) NOT NULL DEFAULT '',
  `COLUMN_COMMENT` varchar(1024) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8

TABLES表信息

字段 含义
Table_catalog 数据表登记目录
Table_schema 数据表所属的数据库名
Table_name 表名称
Table_type 表类型[system view|base table]
Engine 使用的数据库引擎[MyISAM|CSV|InnoDB]
Version 版本,默认值10
Row_format 行格式[Compact|Dynamic|Fixed]
Table_rows 表里所存多少行数据
Avg_row_length 平均行长度
Data_length 数据长度
Max_data_length 最大数据长度
Index_length 索引长度
Data_free 空间碎片
Auto_increment 做自增主键的自动增量当前值
Create_time 表的创建时间
Update_time 表的更新时间
Check_time 表的检查时间
Table_collation 表的字符校验编码集
Checksum 校验和
Create_options 创建选项
Table_comment 表的注释、备注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 您可以使用以下 SQL 语句来修改当前数据库所有的所有字段为 utf8mb4_General_ci。 ``` SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS=0; DECLARE @table_schema VARCHAR(255), @table_name VARCHAR(255), @old_col_charset VARCHAR(255), @old_col_collation VARCHAR(255), @new_col_charset VARCHAR(255), @new_col_collation VARCHAR(255), @alter_table_sql VARCHAR(MAX); SET @table_schema = (SELECT DATABASE()); SET @new_col_charset = 'utf8mb4'; SET @new_col_collation = 'utf8mb4_general_ci'; DECLARE db_cursor CURSOR FOR SELECT table_schema, table_name, column_name, column_type, character_set_name, collation_name FROM information_schema.columns WHERE table_schema = @table_schema; OPEN db_cursor; FETCH NEXT FROM db_cursor INTO @table_schema, @table_name, @column_name, @column_type, @old_col_charset, @old_col_collation; WHILE @@FETCH_STATUS = 0 DO IF (@old_col_charset IS NOT NULL) AND (@old_col_charset <> @new_col_charset OR @old_col_collation <> @new_col_collation) THEN SET @alter_table_sql = CONCAT('ALTER TABLE ', @table_schema, '.', @table_name, ' MODIFY ', @column_name, ' ', @column_type, ' CHARACTER SET ', @new_col_charset, ' COLLATE ', @new_col_collation, ';'); EXEC (@alter_table_sql); END IF; FETCH NEXT FROM db_cursor INTO @table_schema, @table_name, @column_name, @column_type, @old_col_charset, @old_col_collation; END; CLOSE db_cursor; DEALLOCATE db_cursor; SET FOREIGN_KEY_CHECKS=1; ``` 注意:在执行该语句之前,请确保备份当前数据库。此操作可能会对您的数据造成不可逆的影响。 ### 回答2: 要修改当前数据库所有的所有字段为utf8mb4_general_ci,可以按照以下步骤进行操作: 1. 先登录到MySQL数据库。 2. 运行以下命令来选择当前使用的数据库: ```sql USE 数据库名; ``` (将"数据库名"替换为需要修改的数据库名称) 3. 运行以下命令以获取当前数据库的所有名: ```sql SHOW TABLES; ``` 4. 根据上一步骤的结果,循环遍历每个名并运行以下命令来修改每个的字符集和排序规则: ```sql ALTER TABLE 名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` (将"名"替换为需要修改的的名称) 5. 重复步骤4,直到循环遍历完所有的。 注意事项: - 执行步骤4可能需要一段时间,具体时间取决于数据库大小的数量。 - 在执行步骤4之前,请确保你有权限对数据库进行修改。 - 在执行修改操作之前,请务必备份数据库以防止意外情况发生。 希望以上回答对您有所帮助,如有其他问题,请随时提问。 ### 回答3: 要将当前数据库的所有的所有字段修改为utf8mb4_general_ci,可以通过以下步骤来实现。 首先,我们可以使用以下命令来查看当前数据库的所有: SHOW TABLES; 然后,我们可以通过以下命令来更改当前数据库的字符集: ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 接下来,我们可以使用以下命令来获取当前数据库所有的名称: SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'database_name'; 然后,我们可以使用以下命令来更改每个的字符集: ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 最后,我们可以使用以下命令来获取每个的所有字段名称: SHOW COLUMNS FROM table_name; 接着,我们可以使用以下命令来更改每个字段的字符集: ALTER TABLE table_name CHANGE column_name column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 重复上述步骤,直到将每个的每个字段都修改为utf8mb4_general_ci字符集。 请注意,在执行上述步骤之前,请备份数据库以防止数据丢失。此外,根据实际情况,您可能需要使用其他数据类型和字段长度来适应您的结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁晓山(ben)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值