SQL注入核心知识到实操

由 晨星运营组 发布

SQL基础知识

数据库相关核心概念

数据(Data):图像、语音、文字等各类可被计算机处理的信息。

数据库(Database):按数据结构组织、存储和管理数据的“仓库”,MySQL,MSSQL,Oracle等。

数据库管理系统(DBMS):操纵和管理数据库的软件,负责数据库的建立、使用和维护,保障其安全性和完整性。

SQL(结构化查询语言):用于存取数据以及查询、更新和管理关系数据库系统。

常见数据库:
MySQL(3306)、MSSQL(1433)、Oracle(1521)、DB2(5000)、PostgreSQL(5432)、Redis(6379)等。

数据库基本结构

数据库——>表——>列(字段)——>⾏(记录)

打开小皮mysql,配置环境变量,密码root root,默认关闭远程连接,⼀般先拿webshell再连接数据库

表的创建与完整性约束


创建数据库表时,主键(primary key)是必备要素,它是表中记录的唯一标识符,不允许为空,这就是实体完整性约束。
外键(foreign key)则用于关联两张表,比如学生表中的“宿舍号”关联宿舍表中的“宿舍号”,确保数据的参照完整性。

还有用户自定义约束(如 not null、check、unique 等),用于限制字段的取值范围。
CREATE TABLE 表名 (属性名 数据类型 完整性约束条件,属性名 数据类型 完整性约束条件,属性名 数据类型 完整性约束条件);


SQL查询的核心技巧

代替等号:< > in between or
模糊匹配通配符:_ %
通配符%表示可以匹配任何串
数字不⽤引号,字符串要⽤引号

字符串中包含通配符时, ‘ = ’不能代替like。

当and与or⼀起使⽤时,and要⽐or先运算。

LIMIT n :返回结果集的前n⾏。

LIMIT m, n :从第m+1⾏开始返回n⾏。

正则匹配:regexp,rlike

数据库函数




if跟case理解⼀样 如果⽹站有防⽕墙不允许使⽤逗号括号,那么就可以⽤case

判断⽤户名的第4位的ascii码是否等于116u,是则返回1,不是则返回0

实例

1.查询users表中有多少条数据

select count(*) from users;

2.将users表中所有记录作为⼀条记录输出并且以“-”分割每条记录中的数据

select group_concat(concat_ws("-",id,username,password) separator "") from users;
select concat_ws("-",id,username,password) from users;

3.查询users表中id=1的数据并查询mysql版本是否为8.*


0条评论

发表评论