目录
1、数据库基础
数据(Data):图像、语音、文字等
在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据。
数据库(Database):Access、MSSQL、Oracle、SQLITE、MySQL等
数据库是按照数据结构来组织、存储和管理数据的“仓库”。
数据库管理系统(DBMS):Access、MSSQL、Oracle、SQLITE、MySQL等
数据库管理系统(database management system)是一种操纵和管理数据库的软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
结构化查询语言(SQL):DQL、DDL、DML、TCL、DCL
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
2、MySQL数据库的使用
首先介绍一下phpstudy。该程序包集成了最新的Apache+PHP+MySQL+phpMyAdmin+
ZendOptimeze,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境,该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。
所以为了方便我这里直接安装的phpstudy。大家可以直接去官网进行下载
小皮面板(phpstudy) - 让天下没有难配的服务器环境!
下载开启软件后,开启MySQL和Apache服务
接下来,在如下图位置下载phpMyAdmin4.85
下载好后,回到首页,到数据库工具打开phpMyAdmin。接下来用浏览器访问127.0.0.1
,看到站点创建成功后,则表明phpstudy安装成功。
使用图形化界面可以点击首页——>数据库工具——>phpMyAdmin
我这里使用cmd,首先进入MySQL所在目录,点开bin文件,在这里打开cmd
连接数据库
mysql -u root -p
3、数据库基本操作
1、显示当前数据库
2、创建数据库
create database +库名
3、删除数据库
drop database +库名
注释符
- #..
- --空格
4、SQL查询语句
(1)查询player表的全部数据
select * from player
(2)查询player表中id=4的数据
select * from player where id=4
5、SQL插入语句
如:向player表中插入id=5,name=”John”,age=18,number=22
insert into player values(5,"John",18,22);
6、SQL更改语句
如:将队员John的number改为6
update player set number=6 where name="John";
7、SQL删除语句
如:删除jake所在的一行
delete from player where name="jake";
8、order by
order by 语句通常用来排序,后面跟数字,用来表示给第几个字段排序。默认按照升序排序,ASC升序,DESC降序
如:按照id给player表排序
select * from player order by id DESC
下面自行尝试
select * from player order by idselect * from player order by id ASCselect * from player order by 3
9、联合查询
用union将多个select的查询语句结果组合起来
select id,name from table1 where id=1 union select id,name from table1 where id=5
4、常用函数
system_user() 系统用户名
user() 用户名
current_user() 当前用户名
session_user() 连接数据库用的用户名
database() 数据库名
Version() mysql数据库版本
@@datadir 数据库路径
@@basedir mysql安装路径
5、MySQL自带库
mysql 有四个自带的数据库,分别是mysql,information_schema,
performance_schema,sys;可参考http://t.csdn.cn/sNent
作为渗透测试人员应该关注那些库?
在MySQL中,可将information_schema库看作是一个信息数据库
SQL注入中最常利用的系统数据库,配合union联合查询来获取数据库相关信息,因为该库中的所有信息都在这个数据库中,例如所有数据库名,所有表名、列名等等。
其中主要关注该库中的三张表,SCHEMATA表、TABLES表以及COLUMNS表.
(1)SCHEMATA表:提供了关于数据库的信息其中scheme_name字段为所有数据库名
select * from schemata
TABLES表:给出了关于数据库中的表的信息
这里关注table_schema(库名)和table_name(表名)
select table_schema,table_name from tables
COLUMNS表:给出了表中的列信息
关注table_schema、table_name以及column_name(为table_name表名对应的字段名[列名])字段
select table_schema,table_name,column_name from columns;
来源地址:https://blog.csdn.net/qq_51780583/article/details/131586073