[11]-web安全后端基础-数据库
一、MySQL基础
1.数据库简介
- 简介
- 作用:存储数据
- 定义:是以一定方式存储在一起,能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
- 特点:存储空间大、可存放百万、千万、上亿条数据
- 分类
- 关系型数据库:存储格式可以直观反映实体间的关系,与常见的表格类似,表之间有许多复杂的关联关系,如:mysql、SQLserver等
- 非关系型数据库:为简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式目的NoSQL数据库,如:MongoDB、Redis,NoSQL适合追求速度与可拓展性、业务多变性应用场景
- MySQL
- 目前最流行的关系型数据库
- web应用方面最好的
- 开源
- 采用标准SQL数据语言
- 多平台
- 可定制
- RDBMS(关系数据库管理系统)术语
- 数据库:关联表的集合
- 数据表:表示数据的矩阵
- 列:一列包含同类型的数据
- 行:一行包含一组相关的数据
2.课后作业---MySQL安装
二、MySQL基础
1.数据库基本操作
显示数据库
进入mysql后,执行以下命令,查看本地存在的所有数据库(记得带上分号)
注意,其中information_schema
数据库,对于web渗透十分重要mysql> show databases;
进入对应的数据库
使用use
进入,进入后可以使用shouw database()
函数检查当前所处的数据库mysql> use information_schema mysql> select database();
查看目前数据库的所有数据表
使用以下命令mysql> show tables;
查看数据库版本
mysql> select version();
查看使用当前数据库的用户
mysql> select user();
查看数据库路径
mysql> select @@datadir;
查看mysql安装路径
mysql> select @@basedir;
查看数据库安装的系统
mysql> select @@version_compile_os;
2.Web渗透重点数据库
information_schema
数据库
- 信息数据库,保存着关于mysql服务器所维护的所有其他数据库的信息,如表名、权限等
- Web渗透用途很大
SCHEMATA
表:提供了当前MySQL实例中所有的数据库信息,show databases
来自于此TABLES
表:提供关于数据库中的表的信息(包括视图)COLUMNS
表:提供表中的列信息,详细描述了某张表的所有列以及每个列的信息。mysql
数据库
- MySQL的核心数据库
- 主要负责存储数据库的用户、权限配置、关键字等mysql自己需要使用的控制和管理信息
performance_schema
数据库
- 内存数据库,数据放在内存中直接操作的数据库
- 存放在内存中,提高应用性能
sys
数据库
- 通过该数据库,可以查询到谁使用了最多的资源,基于IP或者用户
- 查询那张表被访问过最多等信息
3.查看information_schema
重点表
创建表
mysql> create database tes1; mysql> use tes1 Database changed mysql> create table tes1 -> ( -> id int(11), -> name varchar(11) -> ); Query OK, 0 rows affected (0.03 sec)
查看
SCHEMATA
mysql> select * from information_schema.schemata; +--------------+--------------------+----------------------------+------------------------+----------+ | CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH | +--------------+--------------------+----------------------------+------------------------+----------+ | def | information_schema | utf8 | utf8_general_ci | NULL | | def | mysql | utf8 | utf8_general_ci | NULL | | def | performance_schema | utf8 | utf8_general_ci | NULL | | def | tes1 | utf8 | utf8_general_ci | NULL | | def | test | utf8 | utf8_general_ci | NULL | +--------------+--------------------+----------------------------+------------------------+----------+ 5 rows in set (0.00 sec)
查询
TABLES
通过information_schema
来查询tes1
数据库所包含的表mysql> select * from information_schema.tables where table_schema='tes1';
查看
COLUMNS
查看tes1
数据表有哪些列mysql> select * from information_schema.columns where table_name='tes1';
可以在图中看到,刚刚所创建的两列:
4.SQL基础
- 'select'
查询语句- 'update'
修改、更新数据- 'delete'
删除表中记录like
----渗透过程比较关键的语句--联合查询union
---渗透过程中比较关键语句--联合查询- 参考:菜鸟教程
本文来自博客园,作者:缪白(Miubai),转载请注明原文链接:https://www.cnblogs.com/Miubai-blog/articles/17093335.html