#1.查看所有数据大小
#1.查询所有数据的大小
MysqL> use information_schema;
MysqL> select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;
+---------+
| data |
+---------+
| 51.27MB |
+---------+
1 row in set (0.01 sec)
#2.查看指定数据库的大小
MysqL> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
MysqL> select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='world';
+--------+
| data |
+--------+
| 0.58MB |
+--------+
1 row in set (0.00 sec)
#3.查看指定数据库的某个表的大小
MysqL> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
MysqL> select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='world' and table_name='city';
+--------+
| data |
+--------+
| 0.39MB |
+--------+
1 row in set (0.00 sec)
MysqL中的round函数和decimal方法使用区别
#1.decimal(10,2),表示最终得到的结果:
整数部分位数+小数部分位数<=10,小数部分位数2,如图示例第一条。
如果保留位数过大,可以使用decimal(13,2)、decimal(15,2)等等。
举个栗子:
select orderid
,driverId
,vipStartTime
,vipEndTime
,case when buy=0 then 0 else cast(actualMoney/buy as decimal(10,2)) end as avg_amount
, month(vipEndTime)-month('2021-02-01 00:00:00') as moncnt
,(case when buy=0 then 0 else cast(actualMoney/buy as decimal(10,2)) end)*( month(vipEndTime)-month('2021-02-28 23:59:59')) as aa
#2、round函数就是返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果,round函数的语法是:ROUND(number,num_digits),即:Round(数值,保留的小数位数)
Number:需要进行四舍五入的数字。
Num_digits:指定的位数,按此位数进行四舍五入。
其中,如果 num_digits 大于 0,则四舍五入到指定的小数位。
如果 num_digits 等于 0,则四舍五入到最接近的整数。
如果 num_digits 小于 0,则在小数点左侧进行四舍五入。
=ROUND(3.19, 1) 将 3.19 四舍五入到一个小数位 (3.2)
=ROUND(2.649, 1) 将 2.649 四舍五入到一个小数位 (2.6)
=ROUND(-5.574, 2) 将 -5.574 四舍五入到两小数位 (-5.57)
=ROUND(18.8, -1) 将 18.8 四舍五入到小数点左侧一位 (20)。这个参数-1表示取整到十位数。