1.数据库服务器层级关系:
服务器里面
:多个数据库
:多个数据表
: 多个行列字段
: 数据
2.系统库一般有四个:information_schema,mysql,performance_schema,sys
information_schema:信息数据库,其中保存着MYSQL服务器所维护的所有其他数据库的信息;例如数据库或表的名称,列的数据类型或访问权限,有时用于此信息的其他术语是数据字典和系统目录。在web渗透中用途很大。
information_shcema中有70多张表,最有用的为SCHEMATA表,TABLES表,COLUMNS表
SCHEMATA表:提供了当前MYSQL实例中所有数据库信息,show database结果取之此表。
TABLES表:提供了关于数据中表的信息。table_name
COLUMNS表:提供了表的列信息,详细描述了某张表的所有列以及每个列的信息,column_name
performance_schema库具有87张表,是MYSQL开始新增的一个数据库,主要用于收集数据库服务器性能参数,内存数据库,数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写线速度要高出几个数量级。
mysql库是核心数据库,类似于sql server中的master表,主要负责存储数据库的用户(账户)信息、权限设置、关键字等mysql自己需要使用的控制和管理信息。不可以删除,如果对mysql不是很了解,也不要轻易修改这个数据库里面的表信息。常用举例:在mysql.user表中修改root用户的密码
sys库具有1个表,100个视图。sys库是MySQL 5.7增加的系统数据库,这个库是通过视图的形式把information_schema和performance_schema结合起来,查询出更加令人容易理解的数据。
可以查询谁使用了最多的资源,哪张表访问最多等。
3.回顾SQL语句语法
查询当前数据库服务器中所有的数据库:show databases;
选中某个数据库:use test;//test为数据库名
查询当前数据库所有的表:show tables;
查询t1表中所有数据:select *from t1;
条件查询 id=2
select *from t1 where id=2;
条件查询 id=2 和 pass =111(union查询)
select *from t1 where id=2 union select *from t1 where pass=111;
两个特性union(前面的查询结果和后面的查询结果互不干扰)(前面的查询语句的字段数量和后面的查询语句字段数量要一直 * from 与id from)