掌控安全Web安全微专业笔记 (3)

数据库就是将大量数据把保存起来,通过计算机加工而成的可以高效访问的数据集合
数据库是长期储存在计算机内、有组织的、可共享的数据集合。

二、常见数据库

①Oracle Database:甲骨文公司

②SQL Server:微软公司

③DB2:IBM 公司

④PostgreSQL:开源

⑤MySQL:开源

⑥Access:微软公司 [古董]

数据库虽然有各种各样的,但是其实数据库语句都是相通之处

三、数据库的基本知识

数据库结构

1.服务端:用于接收并处理其它程序发出的请求的程序(软件),或者是安装此类程序的设备(计算机)。

2.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。

3.库:就是一堆表组成的数据集合

4.表(table):类似 Excel,由行和列组成的二维表。

5.字段:字段就是表格的表头

6.记录:表里面的数据【注意】关系数据库必须以行为单位进行数据读写。

四、基本SQL语法

SQL 语句:用关键字、表名和列名等组合而成的一条语句。

3 种 SQL 语句种类:

(1)DDL(数据定义语言):创建、删除或修改数据库以及数据库中的表等对象。

①CREATE:创建数据库和表等对象

②DROP:删除数据库和表等对象

③ALTER:修改数据库和表等对象

(2)DML(数据操作语言):查询或修改表中的记录。

①SELECT:查询表中的数据

②INSERT:向表中插入数据

③UPDATE:修改表中的数据

④DELETE:删除表中的数据

(3)DCL(数据控制语言):确认或取消对数据库中的数据变更的执行操作,以及对用户的操作数据库中的对象权限进行设定。

基本SQL语法

数据库操作:

CREATE DATABASE db_name [新建数据库]

Show databases; [查看所有数据库]

DROP DATABASE db_name; [删除数据库]

USE db_name;

CREATE TABLE table_name (column_name column_type); [新建表]
Show tables; [查看所有数据表]
DROP TABLE table_name; [删除表格]
Desc table_name [查看表的类型]

ALTER TABLE table_name DROP i; [删除表里面的字段]
ALTER TABLE table_name ADD i INT; [添加表里面的字段]
ALTER table ta change b bbb int; [修改字段名和属性]

字段其实是有一些属性的。

主键 PRIMARY KEY [不能为空且唯一] 设置编码:CHARSET=utf8

自增长 AUTO_INCREMENT NOT NULL 数据不能为空

数据类型: varchar(255) int(20) char float

https://www.runoob.com/mysql/mysql-data-types.html

插入数据:
INSERT [INTO] user (username,password) VALUES (’admin’, ’admin’);
修改数据:
UPDATE table_name SET col_name=value,… [WHERE 字段=字段值]
查询数据:
SELECT user,password FROM user WHERE 字段=字段值
删除数据:
DELETE FROM table_name where 字段=字段值
mysql字符串是可以接受16进制的 [https://www.bejson.com/convert/ox2str/]
select database(); 查询当前库名

SQL 语句书写规范:

①以英文分号(;)结尾;

②SQL语句本身大小写不敏感,不区分关键字的大小写;【注意】插入到表中的数据是区分大小写的,如“HI”、“Hi”和“hi”都不同。

③该系列随笔将采用“关键字大写,表名和列名的首字母大写”的格式。

④单词使用英文空格或换行符隔开

常数的书写方式:

字符串、日期:用单引号括起来(\'),如\'Hello World\',\'2018-12-4\'。

数字:直接书写,不用加单引号,如:5。

2-3 高级查询与子查询 一、MySQL的基础查询语句

select*from 表 order by 字段 [ASC(默认)/DESC];
升序(从小到大)ASC,降序(从大到小) DESC.

select*from 表 limit n,m;
n表示从第几行开始,m表示取几条。

select *from 表 where username like \'%%\' 模糊查询

运算符号: + - * / %

逻辑运算:
NOT (!)
AND (&)
OR (|)

二、联合查询

表的内容无重复:
SELECT * FROM 表1 UNION SELECT * FROM 表2;
表的内容有重复:
SELECT * FROM 表1 UNION ALL SELECT * FROM 表2;
注意事项:
两次查询的列数必须一致。

三、子查询

官方定义:子查询是一种常用计算机语言SELECT-SQL语言中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询。

老师理解:子查询就如同1+2*2=5 (1+2)*2=6
子查询就是优先执行,然后执行得到的结果作为某个查询的条件
select *from user where username = (select username from admin where id=1);
admin表当id=1的用户名是否在user表也存在
select*from user where username in (select username from admin)
检查admin表和user表是否有用户名相等

四、渗透测试常用函数

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpdzz.html