mysql 必会基础3

1、limit [偏移量,0表示没偏移,在第一行;1表示偏移一行,在第二行;默认值为0] 需要展现的记录数

分页的应用:

int curPage = 2;

int pageSize = 10;

int offSet = (curPage - 1) * pageSize;

select * from limit offSet, rows;//rows需要展现的记录数

2、like 模糊匹配常用操作符,要形成条件反射。

3、通配符常和like连用及正则表达式匹配

上图引自菜鸟教程:http://www.runoob.com/sql/sql-wildcards.html

4、in常用于where子句多个值,非连续的过滤;如果连续,使用between and 或者大于小于

5、between ,mysql中都是取闭区间;与not、in的连用,如下面的图

带有文本值、日期值的between操作符,如下面两图:(引自:http://www.runoob.com/sql/sql-between.html)

6、连接inner join (join);left join;right join;full join(包括前面三种类型)

7、union 与order by连用,最终order by 先union;即使先order by 再union没有意义,而且报错(已验证)

  union使用的前提,多个select 语句的结果字段的个数要相同,数据类型类似(如char和int就可以对应),最终显示字段名为第一个select语句(可以理解后面的select相当于临时表)

  

8、表内容的快速复制

insert into user2 select * from user;  --user2是已经存在的表且和user的表结构相同

select * into tempTable from user;  --mysql不支持这种复制备份(引自:https://www.cnblogs.com/bass6/p/5757357.html

注意这项还需要验证,先记录在此

可以通过变种来达到复制备份的功能:create table tempTable (select * from user);  --下图已经验证

 9、sql种order by 和 group by 都可以应用于多列,先group by 再 having (having的出现是因为group by之后where无法过滤)

分组还有一种方式,

case

when then

else

end

 10、mysql的流程控制

if语句

case when 1个条件和多个条件

具体可以查阅:菜鸟教程

http://www.runoob.com/sql/sql-tutorial.html

原文地址:https://www.cnblogs.com/hblthink/p/8543797.html