SQL注入语法和介绍(一)

SQL注入即是指WEB应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

WEB应用程序三层架构:视图层+业务逻辑层+数据访问层

SQL注入之MySQL数据库

复制代码
数据库服务器层级关系:
    服务器里面
        :多个数据库
            :多个数据表
                :多个列、行、字段
                    :最后拿到的才是我们想要的数据
                    
                    
                    
系统库释义
提供了访问数据库元数据的方式。
information_schema      信息模式数据库,提供对数据库元数据的访问,符合 SQL 标准。
performance_schema      性能模式,用于监控 MySQL 服务器运行时的性能数据。
mysql                   MySQL 系统数据库,存储用户权限、插件、时区等系统信息。
sys                     系统数据库,基于 performance_schema 和 information_schema 提供更易读的性能视图。

基本的查询语句

复制代码
show databases; 查看所有数据库
use 数据库名; 进入\选择数据库
show tables; 查看当前数据库的所有表
select * from 表名; 查看某个表的所有数据
select * from users; 查看users表里的所有数据

条件查询(where)

复制代码
select * from users where id=2;
利用union联合查询,拼接在一起查询,可以一条语句,查多个结果
select * from users where id=2 union select * from users where pass = 111;
select * from users where id=1 or pass = 111; 都行
select * from users where id=1 || pass = 111; 也行
select * from users where id=1 && pass = 123456;

联合查询(多个语句查询)

复制代码
1、前后相互独立,前面查询的语句和后面的查询语句,结果互不干扰!
2、前面的查询语句的字段数量 和 后面的查询语句的数量要保持一致
但是首行的字段名,是第一个的字段名
不能前面2个,后面3个

order by(排序)

复制代码
select * from users order by id; 默认是降序(desc),asc(升序)
作用是猜解表的字段/列数
select * from users order by 可以写1、2、3、4、...;
order by 后面的数字是表的字段数,第几列
当order by 1没有报错说明有1个字段
当order by 2报错说明没有2个字段
这样就可以知道表中有多少个字段

系统数据库

复制代码
默认是数据库系统自带的
高版本自带系统库,而5.0以下的版本不带系统库
在MySQL5.5才开始新增一个数据库

information_schema

复制代码
共有61张表,其中三张表
1.schemata:保存当前MySQL整个服务器所有的的数据库信息,库名
2.tables:保存当前整个服务器所有的数据表的信息 表名
3.columns:保存当前整个服务器所有的字段的信息 列名
常用参数
复制代码
tables          表
table_name      表名
columns         列
column_name     列名
scheam_name     库名
schemata        
相关推荐
志凌海纳SmartX17 小时前
金融行业IT基础设施转型实践|450+机构部署轻量云,支持核心生产与信创业务
大数据·数据库·金融
VIP_CQCRE17 小时前
hCaptcha 验证码图像识别 API 对接教程
数据库
Mr_Xuhhh17 小时前
MySQL索引深度解析:从原理到实践
数据库·sql·mysql
爱学习的阿磊17 小时前
Python入门:从零到一的第一个程序
jvm·数据库·python
naruto_lnq17 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
AllData公司负责人17 小时前
【亲测好用】实时开发平台能力演示
java·c语言·数据库
fengxin_rou18 小时前
Redis从零到精通第二篇:redis常见的命令
数据库·redis·缓存
多多*18 小时前
Mysql数据库相关 事务 MVCC与锁的爱恨情仇 锁的层次架构 InnoDB锁分析
java·数据库·windows·sql·oracle·面试·哈希算法
大数据在线18 小时前
技术的终极善意:抹平集中式和分布式边界
数据库·信创·pingcap·国产数据库·平凯数据库
Henry Zhu12318 小时前
数据库(三):关系代数
数据库