SQL奇技淫巧】的更多相关文章

1.SQL行列转换 问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ----李四 74 84 94张三 74 83 93 代码: select 姓名 as 姓名 , end) 语文, end) 数学, end) 物理 from tb group by 姓名 2.SQL分页 --分页方案一:(利用Not In和SELE…
我们天天都在跟数据库打交道,写下的代码不计其数,写下的SQL更是可以绕地球几圈.这里收集关于SQL的神奇语法及用法,虽然你可能没有用过,但这些SQL却可以在关键的时候,派上用场. 我对SQL语句的理解,可以比作一座桥梁,将零散的数据组合起来,拿到我所需要的有效信息.也以此记录一下使用心得 一. 语法及基础用法 注意: row_number()不能单独使用,需要和over(order by col)一起使用. 语法1: row_number() over(ORDER BY col) 意思:简单的说…
原文地址:http://huoding.com/2013/06/04/261 问题 通过「SHOW FULL PROCESSLIST」语句很容易就能查到问题SQL,如下: SELECT post.* FROM post INNER JOIN post_tag ON post.id = post_tag.post_id ORDER BY post.created DESC LIMIT 说明:因为post和tag是多对多的关系,所以存在一个关联表post_tag. 试着用EXPLAIN查询一下SQL…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqwAAADhCAYAAAANm+erAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF…
1.等值连接:显性连接和隐性连接 在<MySQL必知必会>中对于等值连接有提到两种方式,第一种是直接在WHERE子句中规定如何关联即可,那么第二种则是使用INNER JOIN关键字.如下例两种方式是"等同"的. //WHERE方式 SELECT vend_name, prod_name, prod_price, quantity FROM vendors, products, orderitems WHERE vendors.vend_id = products.vend_…
这个警告在常规场景中没什么影响,但如果是用excel跑SQL,它会因为该警告阻止你的后续操作~事实上excel执行sql限制多多,需要更多的奇技淫巧,之前我就写过一篇.言归正传,要解决这个警告,一种当然是在语句中用到聚合函数的地方统统加上isnull,但如果语句很长,地方很多就蛋疼了,于是我推荐另一个更优雅的做法: 只需语句顶部加一句: SET ANSI_WARNINGS OFF; 搞掂. - EOF -…
首先要问自己几个问题: 哪些类型的sql会散发出坏味道? sql优化的基本原理是什么,为什么有的sql快有的慢? sql优化和底层的存储引擎关系大么? 怎么看执行过程? 优化建议 1. 缓存查询,sql语句的解析也是会耗费性能的 2. 使用EXPLAIN来分析SELECT执行过程 3. 判断符合条件的记录是否存在可以在查询的时候加上limit 1 4. 为搜索字段建立索引 5. join时候对相同类型的列进行比较,并且对二者都建立索引 6. 不要为了打乱顺序二用ORDER BY RAND() 7…
转自腾讯 博文作者:TSRC白帽子 发布日期:2014-09-03 阅读次数:1338 博文内容: 博文作者:lol [TSRC 白帽子] 第二作者:Conqu3r.花开若相惜 来自团队:[Pax.Mac Team] 应邀参加TSRC WAF防御绕过挑战赛,由于之前曾经和Team小伙伴一起参加过安全宝WAF挑战,而且自己平时接触WAF的机会也比较多,对于WAF绕过的方法还是有一定积累的. 比赛规则就是绕过四台被tencent WAF保护的测试服务器(分别为:apache GET.apache P…
转自博客http://huoding.com/2013/06/04/261 问题 通过「SHOW FULL PROCESSLIST」语句很容易就能查到问题SQL,如下: SELECT post.* FROM post INNER JOIN post_tag ON post.id = post_tag.post_id WHERE post.status = 1 AND post_tag.tag_id = 123 ORDER BY post.created DESC LIMIT 100 说明:因为p…
整理下sql相关知识,查漏补缺(长期更新) 1 常用语句及知识 information_schema包含了大量有用的信息,例如下图 mysql.user下有所有的用户信息,其中authentication_string为用户密码的hash,如果可以使用可以修改这个值,那么就可以修改任意用户的密码 常用语句 当前用户:select user() 数据库版本:select version() , select @@version 数据库名:select database() 操作系统:select…