当前位置: 首页 > article >正文

sql注入之sql基本语法

(持续更新)学习网站推荐www.w3school.com.cnsqlzoo.net一、SELECT查询语句SELECT 列 FROM 表 WHERE 条件;SQL SELECT 语法SELECT 列名称 FROM 表名称以及SELECT * FROM 表名称1.SELECT population FROM world WHERE name Germany主要目的是输出人口后面的都是约束条件约束条件输出在表world中germany在name列对应的人口是多少最终输出Germany的人口2.当需要输出多个国家的人口时语句如下SELECT population FROM world WHERE name IN (Sweden, norway, Denmark);a.只能匹配单个值b.IN可以匹配列表中的任意一个值c.等价于WHERE name SwedenOR name NorwayOR name Denmark3.SELECT name, area FROM world WHERE area BETWEEN 200000 AND 250000这个是输出区域大小在200000与250000之间的name和area4.SELECT name, continent, population FROM world查询表中这三列的全部信息没有条件过滤SELECT * FROM语句使用符号 * 取代列的名称就像这样SELECT * FROM Persons查询出来persons表中的全部列。二、WHERE条件过滤(注入高亮)语法SELECT 列名称 FROM 表名称 WHERE 列 运算符 值1.SELECT name FROM world WHERE population 200000000后面加了一个WHERE就是条件过滤输出的是人口至少为200000000的国家name如果没有加WHERE输出的是表中全部的name2.SELECT name,GDP/population FROM world WHERE population200000000给出那些人口至少2亿的国家的人均GDP三、INSERT INTO语句INSERT INTO 语句用于向表格中插入新的行。1.语法INSERT INTO 表名称 VALUES (值1, 值2,....)没有指定的列的话是全部插入2.我们也可以指定所要插入数据的列INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)3. 插入的值是字符串时用单引号四、Update 语句Update 语句用于修改表中的数据。1.语法UPDATE 表名称 SET 列名称 新值 WHERE 列名称 某值2.更新某一行的一个列的信息UPDATE user SET Password123 WHERE id 123.更新某一行的多个列UPDATE user SET Password123,Email234112qq.com WHERE id 12五、DELETE 语句DELETE 语句用于删除表中的行。语法DELETE FROM 表名称 WHERE 列名称 对应要删除的值六、AND OR 运算符注入高亮AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。1.AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。2.如果第一个条件和第二个条件都成立则 AND 运算符显示一条记录。3.如果第一个条件和第二个条件中只要有一个成立则 OR 运算符显示一条记录。4.使用 AND 来显示所有姓为 Carter 列名并且名为 Thomas列名 的人SELECT * FROM Persons WHERE FirstNameThomas AND LastNameCarter注入where与or结合如id1 or 11 可以查询所有记录七、ORDER BY 语句OEDER BY 语句用于对结果集进行排序。1.ORDER BY 语句用于根据指定的列对结果集进行排序。2.ORDER BY 语句默认按照升序对记录进行排序。SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber列出了Company, OrderNumber这两列且主排序是Company排完之后再按照OrderNumber再进行次排序3.按照降序对记录进行排序可以使用 DESC 关键字。ELECT Company, OrderNumber FROM Orders ORDER BY Company DESCSELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASCcompany是降序ordernumber是升序4.【注入高亮】order by 后面加数字表示按第几列排序常用来判断查询结果的字段数联合注入的第一步SELECT *FROM user ORDER BY 1表示表user的所有行列按照第一列进行升序排序八、LIMIT语句限制结果1.-- 返回前5条记录SELECT * FROM users LIMIT 5;-- 从第3条开始返回5条记录SELECT * FROM users LIMIT 2, 5;-- 或SELECT * FROM users LIMIT 5 OFFSET 2;2.【注入高亮】在盲注中用于逐条提取数据九、LENGTH()函数返回长度-- 基本用法SELECT LENGTH(Hello); -- 返回 5-- 计算字段值的长度SELECT name, LENGTH(name) AS name_length FROM users;九、DISTINCT语句结果去重在表中可能会包含重复值。这并不成问题不过有时希望仅仅列出不同distinct的值。关键词 DISTINCT 用于返回唯一不同的值。1.SELECT Company FROM Orders输出结果是company列的所有值SELECT DISTINCT Company FROM Orders输出结果是company去重之后的值十、注释符--空格#/*注释内容*/【注入高亮】用于闭合原sql语句后注释掉后面原有的部分十一、常用函数1.count函数a.SQL COUNT(column_name) 语法COUNT(column_name) 函数返回指定列的值的数目NULL 不计入SELECT COUNT(column_name) FROMtable_nameb.SQL COUNT(*) 语法COUNT(*) 函数返回表中的记录数总行数包括nullSELECT COUNT(*) FROMtable_namec.SQL COUNT(DISTINCTcolumn_name) 语法COUNT(DISTINCTcolumn_name) 函数返回指定列的不同值的数目SELECT COUNT(DISTINCTcolumn_name) FROMtable_named.SELECT COUNT(Customer) AS CustomerNilsen FROM Orders WHERE CustomerCarterAS CustomerNilsen是一个 列别名上面语句执行流程首先SQL 会执行WHERE CustomerCarter条件筛选出客户是 “Carter” 的所有订单记录。从您的数据看是 O_Id 为 2 和 6 的两行。然后对筛选出的这两行数据计算COUNT(Customer)即统计Customer列的非空值数量结果为 2。最后将这个结果值2放入查询结果集中并将这个结果列的名称显示为CustomerNilsen而不是默认的COUNT(Customer)或一个空名。2.sum()函数SUM 函数返回数值列的总数总额。SQL SUM() 语法SELECT SUM(column_name) FROMtable_name3.AVG函数AVG 函数返回数值列的平均值。NULL 值不包括在计算中。SQL AVG() 语法SELECT AVG(column_name) FROMtable_name4.CONCAT函数功能CONCAT() 函数用于连接两个或多个字符串返回拼接后的字符串。语法CONCAT(string1, string2, ..., stringN)示例-- 连接两个字符串 SELECT CONCAT(Hello, World); -- 返回 Hello World -- 连接多个字符串 SELECT CONCAT(Hello, , SQL, !); -- 返回 Hello SQL! -- 连接表中的字段 SELECT CONCAT(first_name, , last_name) AS full_name FROM users; -- 包含数字或NULL SELECT CONCAT(ID: , user_id, , Name: , username) AS info FROM users; -- NULL与字符串连接时结果为NULL注意如果有任一参数为NULLMySQL的CONCAT()会返回NULL5.SUBSTR()函数a.SUBSTR()函数是 SQL 中用于提取字符串子串的函数。它的基本语法如下b.SUBSTR(string, start_position, [length])-- 在某些数据库如 MySQL、SQL Server中也可能写作 SUBSTRING()c.参数说明string要处理的原始字符串。start_position子串开始的位置整数。在大多数数据库中位置从 1 开始计数不是 0。length可选要提取的字符长度。如果省略则提取从起始位置到字符串末尾的所有字符。示例SELECT SUBSTR(Hello World, 7, 5); -- 返回 WorldSELECT SUBSTR(Hello World, 7); -- 返回 WorldSELECT SUBSTR(ABCDE, 2, 3); -- 返回 BCD【注入高亮】在SQL 注入攻击中SUBSTR()通常被攻击者用于盲注Blind SQL Injection​ 场景目的是逐字符提取数据库中的敏感信息如管理员密码、用户数据等。十二、UNION操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。1.请注意UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时每条 SELECT 语句中的列的顺序必须相同。2.默认地UNION 操作符选取不同的值。如果允许重复的值请使用 UNION ALL。3.UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名4.SQL UNION 语法SELECTcolumn_name(s)FROMtable_name1UNION SELECTcolumn_name(s)FROMtable_name2SQL UNION ALL 语法SELECTcolumn_name(s)FROMtable_name1UNION ALL SELECTcolumn_name(s)FROMtable_name2

相关文章:

sql注入之sql基本语法

(持续更新)学习网站推荐:www.w3school.com.cnsqlzoo.net一、SELECT查询语句SELECT 列 FROM 表 WHERE 条件;SQL SELECT 语法SELECT 列名称 FROM 表名称以及:SELECT * FROM 表名称1.SELECT population FROM world WHERE name Germany主要目的是输出人口&a…...

字节码优化、存储布局与那次成功的“代码混淆”

# 字节码优化、存储布局与那次成功的“代码混淆”## 引言:从一个小想法到一场技术革命故事要从几年前的一个午后说起。当时我们团队正在为一个嵌入式设备开发一套领域特定语言(DSL)。设备资源有限,我们需要一个轻量级的虚拟机来执…...

简中互联网“四大恶人”批判:一种数字生存境况的技术社会学分析

內容來自知乎:https://www.zhihu.com/question/660840540 # 简中互联网“四大恶人”批判:一种数字生存境况的技术社会学分析 ## 引言:被围困的数字日常 2026年的今天,当你打开手机准备查询地铁线路,仅仅因为起身时轻…...

RAG——RAG生成(大模型)

目录 一、前提 二、大模型发展 三、大模型原理 四、RAG 中如何选择大模型 本文来源:极客时间vip课程笔记 注:后续技术类文章会同步到我的公众号里,搜索公众号 小志的博客 感兴趣的读友可以去找来看看。 一、前提 RAG 的本质是通过为大模型提供外部知识来增强其理解和回答领…...

IntelliJ IDEA 4个必改配置:主题字体+代码提示+免费AI插件,让你的开发体验起飞

IntelliJ IDEA 被誉为 Java 开发最好用的工具,但默认配置不一定适合每个人。默认的暗黑主题在白天长时间开发容易眼疲劳;默认字体偏小,盯着看一会儿眼睛就酸;默认的代码提示严格区分大小写,输入小写就找不到大写开头的…...

HelloWorld的前世今生:用IntelliJ IDEA编写人生第一个Java程序

为什么全世界所有编程语言的第一个例子,都是输出“Hello World”?这个传统来自C语言之父丹尼斯里奇的经典著作《C程序设计语言》。在这本书中,第一个示例程序就是输出“Hello World”。由于C语言是绝大多数编程语言的鼻祖,后续Jav…...

计算机毕业设计springboot高校体育竞赛管理系统 基于SpringBoot的高校体育赛事综合服务平台设计与实现

计算机毕业设计springboot高校体育竞赛管理系统48825p75(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着高校体育事业的蓬勃发展和校园文化建设需求的不断提升,传…...

计算机毕业设计springboot就业岗位推荐系统 基于SpringBoot的智能职位匹配平台设计与实现

计算机毕业设计springboot就业岗位推荐系统a6nq8o76(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着数字化转型的深入推进,人力资源市场正经历从传统招聘模式向智…...

2025年智能座舱交互革命:从语音助手到多模态AI中枢

1. 告别“人工智障”:为什么你的车载语音助手总在关键时刻掉链子? 不知道你有没有过这样的经历:开车时想调低空调温度,对着车机喊了好几声“你好,XX”,它要么没反应,要么答非所问,最…...

R 4.5量化回测合规红线预警:证监会《证券期货业回测系统技术规范》V2.3落地后,这7类代码将被认定为无效回测

第一章:R 4.5量化回测合规性总览R 4.5 版本在统计计算与金融建模领域引入了多项增强机制,尤其在回测框架的可审计性、随机数生成确定性、时间序列对齐一致性及浮点运算精度控制方面,显著提升了量化策略回测结果的合规可信度。监管机构&#x…...

STEP3-VL-10B部署案例:边缘计算节点部署10B模型实现离线多模态推理

STEP3-VL-10B部署案例:边缘计算节点部署10B模型实现离线多模态推理 1. 引言 想象一下,你正在一个网络信号不稳定的野外现场,或者在一个对数据安全要求极高的企业内部,需要快速分析一张复杂的工程图纸,或者理解一段带…...

如何用Dify在24小时内完成传统需2周的人工评估闭环?——金融客服场景下LLM-as-a-judge SLO达标实践白皮书

第一章:LLM-as-a-judge在金融客服评估中的范式革命传统金融客服质量评估长期依赖人工抽检、规则引擎与预设话术匹配,存在覆盖率低、主观性强、反馈滞后等结构性瓶颈。大语言模型作为裁判(LLM-as-a-judge)的引入,正推动…...

通义千问3-Reranker-0.6B实战案例:直播带货话术与商品信息匹配

通义千问3-Reranker-0.6B实战案例:直播带货话术与商品信息匹配 1. 直播带货的痛点与解决方案 直播带货现在火得不得了,但有个问题一直困扰着主播和运营团队:说的话和卖的商品经常对不上。你可能也遇到过这种情况——主播说得天花乱坠&#…...

Emilia数据集:6种语言10万小时语音生成技术的突破与应用

1. Emilia数据集:一个改变游戏规则的多语言语音宝库 如果你最近在关注语音合成(TTS)或者语音生成领域,那你大概率已经听过“Emilia”这个名字了。它就像一个突然出现在舞台中央的超级新星,让整个圈子都兴奋了起来。简…...

第7章:Docker network网络管理_(网络驱动类型)

第7章:Docker network网络管理(网络驱动类型) 在现代容器化应用部署中,Docker网络管理是确保服务可靠通信的关键环节。除了基础的网络连接操作外,Docker提供了一系列高级网络功能,能够满足复杂场景下的网络需求。本文将解析三个高级网络管理命令: docker network connec…...

连续时间马尔科夫链:从理论到生灭过程的应用解析

1. 从排队到种群:为什么我们需要连续时间马尔科夫链? 想象一下,你正在一家网红奶茶店排队。队伍的长度时增时减,有人买完离开(“死亡”),也有新顾客加入队尾(“出生”)。…...

UNIAPP 上架审核指南:精准应对 Guideline 5.1.2 数据追踪与隐私合规

1. Guideline 5.1.2 到底是什么?为什么你的UNIAPP应用会踩坑? 最近不少用UNIAPP开发iOS应用的朋友,在提交App Store Connect审核时,都遇到了一个让人头疼的拒绝理由:Guideline 5.1.2。苹果给出的原文通常很长&#xf…...

文件描述符fd:跨进程共享机制

文件描述符跨进程资源共享机制详解 文件描述符作为 Unix/Linux 系统的核心抽象机制,通过精巧的内核设计实现了高效的跨进程资源共享。下面从技术原理、实现机制和实际应用三个维度深入解析这一过程。 一、核心技术原理 1. 文件描述符的本质 文件描述符实际上是进…...

实战避坑指南:基于RocketMQ 5.2 Proxy的两主两从集群部署与关键配置解析

1. 为什么你需要这份“踩坑”指南? 最近有不少朋友在后台问我,想在生产环境部署RocketMQ 5.2的集群,特别是带Proxy的两主两从架构,但照着网上一些零散的教程做,总是卡在某个环节,要么服务起不来&#xff0c…...

天地图结合GeoJSON实现中国行政区划可视化开发指南

1. 为什么选择天地图GeoJSON做行政区划可视化? 如果你正在做一个政务系统、数据分析平台,或者任何需要在地图上清晰展示中国省、市、县边界的项目,那你大概率绕不开“行政区划可视化”这个需求。几年前,我为了这个功能可没少折腾&…...

从零到一:Gemini AI Studio 实战部署与避坑指南

1. 初识 Gemini AI Studio:你的 AI 应用“游乐场” 如果你对 AI 感兴趣,想自己动手做个聊天机器人、智能助手,或者任何带点“智能”的小应用,但一看到“模型训练”、“微调”、“部署”这些词就头疼,觉得那是专业开发…...

Crystals Kyber密钥封装机制解析:从LWE问题到实际应用

1. 为什么我们需要Kyber?从RSA的“中年危机”说起 如果你用过网银、登录过邮箱,或者只是在网站上看到那个小锁图标,那你其实已经和公钥密码学打过无数次交道了。我们最熟悉的老朋友,莫过于RSA和ECC(椭圆曲线密码&#…...

Windsurf实战:AI代码编辑器的智能协作开发全解析

1. 初识Windsurf:不只是编辑器,更是你的AI编程搭档 如果你还在用传统的代码编辑器,每天重复着敲击键盘、查找文档、调试错误的循环,那今天这篇文章可能会彻底改变你对编程的认知。Windsurf,这款在2024年底横空出世的AI…...

揭秘这款零成本抢票神器:十年口碑,无广告无加速包!

1. 为什么你需要一个“干净”的抢票工具? 又到了一年一度考验手速和网速的时候了。打开手机里那些主流的购票App,想抢张回家的票,迎面而来的不是“助力加速”,就是“VIP光速通道”,各种加速包、会员权益的弹窗让人眼花…...

金蝶EAS uploadlogo任意文件上传漏洞深度分析与防护策略

1. 从一次“意外”的服务器告警说起 那天下午,我正在工位上摸鱼,突然手机开始疯狂震动,一看是监控平台的告警短信,提示某台核心业务服务器的CPU使用率飙升到了98%。我心里咯噔一下,赶紧连上去看。登录服务器一看&#…...

【光影绘梦】触控灯光画小夜灯:基于PT2023S8与SY7200A的双色温无极调光DIY方案解析

【光影绘梦】触控灯光画小夜灯:从电路到实物的DIY全解析 最近有不少朋友问我,想自己动手做一个既有颜值又有科技感的小夜灯,最好还能触摸调光调色温,有没有什么好的方案?这不,我最近刚好用立创的元器件和工…...

lsquic实战《一》—— 架构解析与核心概念入门

1. 初识lsquic:它是什么,以及为什么选择它 如果你正在寻找一个用C语言实现的、功能齐全且文档相对友好的QUIC协议库来开发你的网络应用,那么lsquic很可能已经进入了你的视野。我当初选择它,也是基于类似的考量:项目需要…...

AirSim实战指南:从零构建Python无人机控制脚本

1. 环境准备:搭建你的第一个AirSim仿真世界 想用Python控制无人机在天上自由翱翔,听起来很酷对吧?但别急着写代码,咱们得先把“舞台”搭好。这个舞台就是AirSim,一个由微软开源的、基于游戏引擎(通常是Unre…...

从零到一:在Ubuntu上配置SSH服务并用MobaXterm实现安全远程访问

1. 为什么你需要远程访问Ubuntu?从场景聊起 想象一下这个场景:你刚拿到一台性能不错的服务器,或者在自己的电脑上装好了Ubuntu系统,准备大干一场。但机器放在书房角落,或者干脆是托管在机房的云服务器,你总…...

真实世界研究R代码总被药监局退回?这8个ADaM变量命名雷区,92%的临床数据科学家已中招

第一章:真实世界研究中ADaM合规性困境的根源剖析 在真实世界研究(RWS)中,ADaM(Analysis Data Model)规范的落地常遭遇结构性冲突——其设计初衷面向传统随机对照试验(RCT)的预设数据…...