MySQL5新特点(数据字典)

2016-02-19 20:42 5 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的MySQL5新特点(数据字典),希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

  因为对元数据(元数据就是那些关于如何数据库的那些数据)的使用已经变得愈来愈普遍了,MySQL5在产品中也相应地设计了一个专门的数据库,这个数据库的固定名称就是information_schema,该数据库作为一个中心数据字典的角色出现,其中包含了数据库的所有对象信息和其他与数据库相关的项目(比如安全),这些对象等信息都在MySQL服务器产品中做了定 义。数据库管理人员和相关开发人员可以使用information_schema数据字典数据库来获得MySQL服务器上一个或多个数据 库相关的多方面的元数据。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  举例说明,如果数据库管理人员想要知道某个MySQL数据库实例中存储空间的概况,那么可以通过执行如下的对数据字典的查询来实现:

mysql SELECT a.schema_name db_name,
- IFNULL(ROUND((SUM(b.data_length)+SUM(b.index_length))/1024/1024,2),0.00)
- total_size_mb,
- IFNULL(ROUND(((SUM(b.data_length)+SUM(b.index_length))-
- SUM(b.data_free))/1024/1024,2),0.00) data_used_mb,
- IFNULL(ROUND(SUM(data_free)/1024/1024,2),0.00) data_free_mb,
- IFNULL(ROUND((((SUM(b.data_length)+SUM(b.index_length))-SUM(b.data_free))/
- ((SUM(b.data_length)+SUM(b.index_length)))*100),2),0) pct_used,
- COUNT(table_name) tables
- FROM information_schema.schemata a
- LEFT JOIN information_schema.tables b ON a.schema_name = b.table_schema
- WHERE a.schema_name != 'information_schema'
- GROUP BY a.schema_name
- ORDER BY 1;
+---------+---------------+--------------+--------------+----------+--------+
| db_name | total_size_mb | data_used_mb | data_free_mb | pct_used | tables |
+---------+---------------+--------------+--------------+----------+--------+
| gim     |        432.67 |       432.67 |         0.00 |   100.00 |     16 |
| gim2    |          8.64 |         8.64 |         0.00 |   100.00 |      6 |
| mysql   |          0.33 |         0.33 |         0.00 |    99.69 |     18 |
| test    |          0.00 |         0.00 |         0.00 |     0.00 |      0 |
| tpcc    |        126.09 |       126.09 |         0.00 |   100.00 |      9 |
+---------+---------------+--------------+--------------+----------+--------+

  注意上面的示例中,应该设为不查询字典数据库自身,通过where条件语句来实现。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1624320.html

延伸阅读
数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。 Oracle中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,...
标签: MySQL mysql数据库
1. Sample Problem: Log Of Failures 问题样例:故障记录 当INSERT失败时,我希望能将其记录在日志文件中我们用来展示出错处理的问题样例是很普通的。我希望得到错误的记录。当INSERT失败时,我想在另一个文件中记下这些错误的信息,例如出错时间,出错原因等。我对插入特别感兴趣的原因是它将违反外键关联的约束 2. Sample Problem: Log Of ...
基本语法: CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]     VIEW view_name [(column_list)]     AS select_statement     [WITH [CASCADED | LOCAL] CHECK OPTION] This statement creates a new view, or replaces an existing one if the OR REPLACE clause is giv...
约定和编程风格 每次我想要演示实际代码时,我会对mysql客户端的屏幕就出现的代码进行调整,将字体改成Courier,使他们看起来与普通文本不一样(让大家区别程序代码和正文)。在这里举个例子: mysql DROP FUNCTION f; Query OK, 0 rows affected (0.00 sec) 如果实例比较大,则需要在某些行和段落间加注释,同时我会用将"--"符号放在页面的...
按照关系数据库的理论,行与列都是无序的,但在实际应用中有时需要确定列的顺序。但在Oracle中,一旦表定义好,再想修改列的顺序可不太容易。 Oracle数据库没有提供直接修改表中列名称的功能,但在实际使用时常需要修改表的列名和列顺序,不得已有些Oracle的使用人员用重新创建一个新的具有正确列名和顺序的数据库表,再将旧表的数据转储进来...

经验教程

955

收藏

41
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部