一、分类
1.关系型数据库:类似于表格的形式存储数据,表与表之间具有复杂的关联关系。(MySql,SQL Server)
2.非关系型数据库:为了简化数据库结构,避免冗余,摒弃复杂分布式的目的而设计出的一类数据库。(MongoDB,Redis,memcached)
二、基本操作
1.显示数据库列表 show databases;
2.进入对应的数据库 use “制定数据库名”; 如:use mysql;
3.查看所进入数据库的所有表 show tables;
4.显示数据库版本 select version();
5.查看当前数据库名称 select user();
6.查看数据库路径 select @@datadir;
7.查看当前MySql数据的存储路径 select @@basedir;
8.查看数据库安装的操作系统 select @@version_compile_os;
三、Web渗透涉及的重要表
information_schema是信息数据库,保存着关于MySql服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型和访问权限等。里面有三个表:
1.SCHEMATA表,提供了当前MySql实例中所有的数据库信息,show database;的结果取之此表。
2.TABLES表,提供数据库中表的信息(包括视图)。
3.COLUMNS表,提供了表中列的信息,详细描述了某张表的所有列以及每个列的信息。
4.mysql,MySql的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和关系信息。
5.performance_schema,内存数据库,数据放在内存中直接操作的数据库,相对于磁盘,内存的读写速度高出几个数量级,将数据放在内存比在磁盘访问极大的提高访问性能。
6.sys,通过这个数据库,查询谁使用了最多的资源,基于IP或者是用户,哪张表被访问的最多等信息。
四、例子
创建test数据库:create database test;
创建test数据表:create table test (‘id‘ int(11),‘user‘ varchar(55));
SCHEMATA表:select * from information_schema.schemata;
TABLES表: select * from information_schema.tables where table_schema=‘test‘;
COLUMNS表:select * from information_schema.columns where table_name=‘test‘;