数据库的基本概念

一、分类

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‘;

 

数据库的基本概念

上一篇:cordova混合App开发:Cordova+Vue实现Android (安装cordova框架生成app) (二)


下一篇:Spring系列之AOP分析之获取Advisor的过程续(三)