04 2021 档案

摘要:1.判断是否存在sql注入漏洞 出现报错,说明存在sql注入漏洞,无论是字符型还是整形都会因为单引号个数不匹配而报错。 如果未报错则未必存在sql注入,有可能存在对输入内容的过滤,采用其他方法判断是否存在注入。 2.判断注入漏洞的类型 分为两种: 数字型和字符型。 这是数据库本身存储数据时赋予给数据 阅读全文
posted @ 2021-04-26 19:29 1ZAYAK1 阅读(117) 评论(0) 推荐(0)
摘要:利用子查询进行过滤 本书所有章中使用的数据库表都是关系表(关于每个表及关系的描述,请参阅附录B)。订单存储在两个表中。对于包含订单号、客户ID、 订单日期的每个订单,orders表存储一行。各订单的物品存储在相关的 orderitems表中。orders表不存储客户信息。它只存储客户的ID。实际的客 阅读全文
posted @ 2021-04-23 21:21 1ZAYAK1 阅读(146) 评论(0) 推荐(0)
摘要:这涉及两个新SELECT语句子句,分别是GROUP BY子句和HAVING子句。 比如语句SELECT COUNT(*) AS num_prods FROM products WHERE vend_id = 1003; 这个例子返回供应商1003提供的产品数目。 但是要想得到每个供应商的产品数目怎么 阅读全文
posted @ 2021-04-23 20:40 1ZAYAK1 阅读(351) 评论(0) 推荐(0)
摘要:聚集函数 运行在行组上,计算和返回单个值的函数。 AVG()函数 AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。 SELECT AVG(prod_price) AS avg_price FROM product 阅读全文
posted @ 2021-04-13 21:27 1ZAYAK1 阅读(91) 评论(0) 推荐(0)
摘要:相对来说,多数SQL语句是可移植的,但是函数的可移植性却不强,几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异还很大。所以为了代码的可移植性有些时候不赞成使用特殊实现的功能,所以如果决定使用函数,应该做好代码注释,以便以后我或者其他人能确切知道SQL代码的含义 大多数SQL实现支 阅读全文
posted @ 2021-04-13 21:25 1ZAYAK1 阅读(59) 评论(0) 推荐(0)
摘要:拼接:将值联结到一起构成单个值,使用Concat()函数 其他DBMS多使用+或者||来实现拼接,MySQL则使用Concat()函数,在不同DBMS之间进行语句转换时要注意 函数的参数为一个或者多个指定的串 还可以调用删除数据右侧空格的RTrim()函数来整理数据: 除此之外还支持LTrim()去 阅读全文
posted @ 2021-04-13 21:17 1ZAYAK1 阅读(44) 评论(0) 推荐(0)
摘要:SELECT 列名1,列名2 FROM 表 WHERE 列名1 REGEXP '1000' ;(包含文本1000的所有的行) SELECT 列名1,列名2 FROM 表 WHERE 列名1 REGEXP '.000' ;(.表示匹配任意一个字符) 为区分大小写可以使用BINARY关键字 如:WHER 阅读全文
posted @ 2021-04-13 21:14 1ZAYAK1 阅读(68) 评论(0) 推荐(0)
摘要:LIKE操作符 %通配符 SELECT 列名1,列名2 FROM 表 WHERE 列名1 LIKE ‘jet%’; 百分号表示任何字符出现的任意次数,这句话的含义是找出以词jet起头的元素。 也可以位于模式的两端 SELECT 列名1,列名2 FROM 表 WHERE 列名1 LIKE ‘%jet% 阅读全文
posted @ 2021-04-13 16:58 1ZAYAK1 阅读(58) 评论(0) 推荐(0)
摘要:相等过滤 SELECT 列名 FROM 表名 WHERE 列名 = 值;(ORDER BY 语句在WHERE之后) 范围过滤 SELECT 列名 FROM 表名 WHERE 列名 < 值; 不匹配检查 SELECT 列名 FROM 表名 WHERE 列名 <> 值;(值为字符串的值时则需要引号,数值 阅读全文
posted @ 2021-04-13 16:56 1ZAYAK1 阅读(98) 评论(0) 推荐(0)
摘要:以顺序排序 SELECT 列名 FROM 表名 ORDER BY 列名;(用非检索的列排序数据也是完全合法的) 按多个列排序 SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名1,列名2;(排序顺序按规定顺序进行,也就是说只有在多个行拥有相同的列名1的时候才会按列名2进行排 阅读全文
posted @ 2021-04-13 16:52 1ZAYAK1 阅读(51) 评论(0) 推荐(0)
摘要:检索某个列 SELECT 列名 FROM 表名; 检索多个列 SELECT 列名1,列名2,列名3 FROM 表名; 返回所有列 SELECT * FROM 表名;(*的好处可以检索出未知列) 检索出有不同值的列 SELECT DISTINCT 列名 FROM 表名;(多个列时DISTINCT应用于 阅读全文
posted @ 2021-04-13 16:51 1ZAYAK1 阅读(157) 评论(0) 推荐(0)
摘要:1.SHOW用法 选择数据库 USE 数据库名字; -Database changed 显示表 SHOW DATABASES; 显示表的列表 SHOW TABLES; 显示表列 SHOW COLUMNS FROM 列表名; //也可以写为DESCRIBE 列表名; 其他SHOW SHOW STATU 阅读全文
posted @ 2021-04-13 16:50 1ZAYAK1 阅读(443) 评论(0) 推荐(0)