前言: 上次写了查询5天之内过生日的同事中的跨年问题的解决过程,网址为:http://blog.csdn.net/mchdba/article/details/38952033 ,当中漏了一个闰年2月29日生日的细节问题,如今补充一下这个问题的处理过程: 5,补充闰年推断 有朋友提醒,闰年2月29日生日的话,可能查询不到,想到确实没有考虑到这个特殊的日期.5.1,准备測试数据SQL,包括1980-02-29这一天生日的朋友.INSERT INTO ali_users  SELECT 'Jeff'…
SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.`COLUMNS` WHERE COLUMN_NAME = 'xxx' ; xxx替换成需要查找的表名即可 information_schema 记录了数据库的各种信息,库的结构.表的结构.字段的结构…
日期函数: 当前时间:GetDate() 两个时间差:DateDiff() 一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用SQL语句创建四个表并完成相关题目. 表1-1数据库的表结构  表(一)Student (学生表) 属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号(主码) Sna…
MySQL慢查询 在web开发中,我们经常会写出一些SQL语句,一条糟糕的SQL语句可能让你的整个程序都非常慢,超过10秒一般用户就会选择关闭网页,如何优化SQL语句将那些运行时间 比较长的SQL语句找出呢?MySQL给我们提供了一个很好的功能,那就是慢查询!所谓的慢查询就是通过设置来记录超过一定时间的SQL语句! PHP-FPM慢日志  php-fpm慢日志slowlog设置可以让开发者很好的查找哪些php进程速度过慢而导致的网站问题,让开发者方便的找到问题的所在.该方法同样适用于排查ngin…
delete from 表名 where id not in (select d.id from (SELECT id FROM 表名 GROUP BY c1,c2,c3,c4)as d) #去重复,把url重复,且区为空的中去掉.select * from TABLE where url in (select u.url from (select * from TABLE where id not in (select d.id from (SELECT id FROM TABLE GROUP…
下厨房6月26日数据丢失事故总结 MYSQL主分区被rm 命令误删除 http://tech.xiachufang.com/?p=18 在6月26日凌晨12点左右,我们在做线上数据库的备库时,误将线上数据库分区上的所有文件删除.丢失的数据时间段为4月23日至6月25日两个月,在经过7天的努力后,恢复了99%以上的数据.(具体见下面的统计). 下面把整个事故过程记录下来,令关心本次技术事故的人们知晓. 一. 事故隐患 现在回顾,事故隐患在4月23日之后就已经存在. 我们线上数据库使用的是MySQL…
18岁生日 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16784    Accepted Submission(s): 5317 Problem Description Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他…
MYSQL慢查询 1. 慢查询有什么用? 它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化. 2. 如何开启慢查询? 首先我们先查看MYSQL服务器的慢查询状态是否开启. 执行如下命令:    我们可以看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询. 开启慢查询非常简单, 操作如下: 方法一: 找到mysql的配置文件my.cnf(/etc/my.cnf), 在mysqld下方加入慢查…
一.联接过程介绍 为了后面一些测试案例,我们事先创建了两张表,表数据如下:   1 2 3 4 CREATE TABLE t1 (m1 int, n1 char(1)); CREATE TABLE t2 (m2 int, n2 char(1)); INSERT INTO t1 VALUES(1, 'a'), (2, 'b'), (3, 'c'); INSERT INTO t2 VALUES(2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f'); 联接操作…
1.慢查询有什么用? 能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化. 2. 如何开启慢查询? 首先我们先查看MYSQL服务器的慢查询状态是否开启. 我们可以看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询. 3. 开启慢查询 找到mysql的配置文件my.cnf(/etc/my.cnf), 在mysqld下方加入慢查询的配置语句 log-slow-queries: 代表MYSQL慢查询…