1、UNION----将查询的进行结果合并
2、UNION All----保留合并后重复的列
3、SQL的执行顺序:
–第一步:执行FROM
–第二步:WHERE条件过滤
–第三步:GROUP BY分组
–第四步:执行SELECT投影列
–第五步:HAVING条件过滤
–第六步:执行ORDER BY 排序
4、inner join----交集
5、Full outer join----并集
6、SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name
WHERE TableA.id IS null OR TableB.id IS null-----差集
crosss join----差集
7、表之间的关系以join指定,using(连接列)进行连接匹配,类似于on。
8、CASE six WHEN '1' THEN '女' ELSE '男' END ----搜索函数
9、完全连接或完全外连接:涵盖左连接与右连接,包含两张表中的所有行,不匹配的内容为空(NULL)
10、分为没有where子句的交叉连接将产生连接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。
11、做过多修改和删除操作时选择分批操作数据
12、(带有外键约束的数据删除)select@@foreign_key_checks;set foreign_key_checks = 1
13、show engines;---查看数据库存储引擎
14、DATE_FORMAT---格式化日期
15、date_sub(NOW(),interval X day)----》X=1获取昨天日期,X=0获取当天,X=-1获取后天
16、查看mysql每个ip的连接数----select substring_index(host,':',1) as ip , count(*) from information_schema.processlist group by ip;
17、show global variables like 'wait_timeout';------查看数据库等待超时时间
set global wait_timeout=600;-----设置数据库等待超时时间为600
SHOW VARIABLES LIKE '%max_con%';----查看数据最大连接数
SET GLOBAL max_connections = 1000;----修改最大连接数为1000
show processlist----查看所有连接详情
#kill 3616;----根据id杀死连接
18、查询最近某几天的数据----SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 天数 DAY) <= date(时间字段 名)
19、查询昨天的数据----DATE_FORMAT(时间字段,"%y-%m-%d") =DATE_FORMAT(DATE_SUB(NOW(),interval 1 day),"%y-%m-%d")