数据库MySQL Day02

1.排序查询

关键字 :Order by 字段名 [ASC||DESC]

ASC:升序(默认)

DESC:降序

SELECT pname,price FROM product ORDER BY price (ASC||DESC);

SELECT pname,price FROM product ORDER BY price DESC,id DESC;

(当 price 字段值相同时,对 id 进行降序排序)

注:排序前可用DISTINCT进行去重

2.聚合查询

聚合函数:COUNT:求记录数的聚合函数,count函数会自动忽略空值(仅忽略括号内字段,如是*号则需要为全空方可被忽略)

MAX:求最大值

例:SELECT MAX(price) FROM product;

MIN:求最小值

AVG:求平均值

SUM:求和

例:SELECT MAX(pricr),MIN(price),AVG(price),SUM(pricr) FROM product;

注:可使用AS更改别名

普通查询:横向记录查询

聚合查询:纵向个数查询(即查询对象个数)特点:查询结果是一个单一值

SELECT COUNT(*) FROM product;

3.分组查询

即把查询结果分为几个组

关键字:group by 字段

例:SELECT SUM(price) FROM product GROUP BY id;

分组前:

分组后: 

特点:先分组,再查询,结果数取决于能分多少组

SELECT COUNT(*) FROM product GROUP BY id HAVING COUNT(*) >1;

注:SELECT 后只能跟聚合函数或者分组字段,不能写其他字段

即将product字段排序并统计其大于1的个数

注:GROUP BY 后条件关键字只能用HAVING而不能用WHERE  

注:WHERE 与 HAVING的区别

1.WHERE写在基本查询后,HAVING写在分组查询后

2.WHERE后不能写COUNT SUM等聚合函数,HAVING可以写

4.分页查询(只查询记录中的一部分)

关键字:LIMIT 数值1(下标,从0开始),数值2(需要查出来的记录数)

例:SELECT * FROM product LIMIT 5,5;

5.SQL的备份和恢复

增量备份  完全备份

备份过程:

 

恢复:

6.SQL约束

约束是为了保证数据的完整性

实体完整性:记录的完整性(每一行)约束:主键约束,唯一约束

域完整性:字段的完整性(每一列)约束:数据类型,默认约束(在插入不赋值时给予一个默认值),非空约束

引用完整性:表和表之间的关系   约束:外键约束

各种约束的介绍:

***主键约束:primary key

        作用:保证字段唯一且非空

        语法:1.在创建表时直接给字段添加

***唯一约束:unique

        作用:保证字段唯一可以为空

7.自动增长列

***作用:把字段值交给数据库维护,数据库默认每次加一,初值默认为1

***自动增长列必须为整形,必须为键(一般为主键)

 

***修改AUTO_INCREMENT的初始值为100

ALTER TABLE XX AUTO_INCREMENT=100;

8.非空约束:NOT NULL

作用:保证字段不为NULL值

 9.默认约束:DEFAULT

作用:给该字段添加一个默认值(若添加记录时未赋值的话)

10.多表操作

一对多       多对多         一对一

***一对多关系的建表原则:建立两张表,一张为主表,一张为从表

在从表(多方)创建一个字段,作为外键指向主表        

从表中必须由一个字段引用主表的主键,这个字段称为外键

***多对多

多对多的建表原则:建立一张中间表

中间表注意事项:a.必须有自己的主键  b.必须有两个外键 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值