mysql第二天~mysql基础【查询排序、分页查询、多表查询等】
一、查询排序:
1,ORDER BY 列名 [ASC/DESC]
■ ASC 升序,可以缺省。
■ DESC 降序
■ ORDER BY 子句出现在SELECT 语句的最后。
SELECT <selectList> FROM table_name WHERE [条件] ORDER BY 列名1 [ASC/DESC],列名2 [ASC/DESC]…;
■ 若是排序查询的列使用了别名,但是不能使用中文的别名,即不能使用单引号,否则排序按别名排序失效。
2、总结一下DQL查询语句的执行顺序:【哪一张表,过滤不合法数据,显示,排序,分页】 1)先决定从哪一张表开始查询【FROM 子句】 2)立马过滤掉不合法的数据【WHERE 子句】 3)选择最终要显示的哪些列【SELECT 子句】 4)对查询结果进行排序【ORDER子句】 |
二、Mysql分页查询:
1、语法:
● 第一个参数【(currentPage - 1) * pageSize,】是索引,
● 第二个参数是当前页面允许存储的最大数据记录的条数【pageSize】
SELECT*FROM 表名 LIMIT (currentPage -1) * pageSize, pageSize;
■ 注意:带有排序的分页查询:先排序再分页
三、统计函数/聚集函数/分组函数【作用于一组数据,并对一组数据返回一个值】
四、笛卡尔积以及消除笛卡尔积【等值连接】
■ 笛卡尔积:没有连接条件的表关系返回的结果。
■ 实际运行环境下,应该避免使用笛卡尔积集,使用等值连接。
1,笛卡尔积连接(就是所有情况)
2,消除笛卡尔积:使用等值连接 WHERE 表1.列名 = 表2.列名
3,涉及到多表查询的,先跟等值连接条件 WHERE 表1.列名 = 表2.列名
五、外键和主键【主键设计】:
1,前提:存储引擎必须是InnoDB,外键的列必须是引用表的主键。
■ 主键约束(PRIMARY KEY): 约束当前表中的指定的列的值非空且唯一(主键列);
■ 外键约束(FOREIGN KEY): A表中外键列的值必须来源于B表中的主键列。
2,细节:开发中,外键列起的名字:一般是所引用的表名_引用列名,例如:productdir_id;
3,外键作用:不是约束查询,而是约束添加时不能乱写
4,主键设计:
六、自连接:把自己这张表看成两张表【通过取别名】----进行多表查询
七、数据存储(备份)与恢复【导出、导入】