【一】条件查询where
运算符 说明
>,>=,<,<= 大于,大于等于,小于,小于等于
= 等于,NULL不安全,例如NULL=NULL的结果NULL
<=> 等于,NULL安全,NULL<=>NULL的结果是true
between...and... 匹配范围,如果范围是相等的则返回true
in(a1,a2,a3...) 其中任何一个是成立的,都返回true
is NULL 是NULL
is not NULL 不是NULL
LIKE 模糊匹配,%表示任意多个任意字符,_表示任意一个字符
AND 多个条件必须都为true,结果才是true
OR 任意一个条件为true,结果就是true
NOT 条件为TRUE,结果为FALSE
tips:
where条件可以使用表达式,但是不能使用别名
and的优先级是大于or,在同时使用时,需要使用小括号()包裹优先被执行的那部分,其实勤打括号对于程序员本身来说就是一个好习惯。
【二】分页查询:LIMIT
语法:select...from ... where ... order by...limit n
从0开始,筛选n条结果
语法:select...from ... where ... order by...limit s, n
从s开始,筛选n条结果
语法:select...from ... where ... order by...limit n offset s
从s开始,筛选n条结果
【三】update 修改
语法:update ... set...
update exam_result set math=80 where name='孙悟空';
将exam_result 这张表里面的name为孙悟空的人的数学成绩改成80.
tips:这个操作会涉及到修改数据库内部表的内容,所以修改表的时候需要谨慎,因为一旦改完之后,你是找不到你上次记录的。这比删库还麻烦,删库起码还能有备份,但是你这个修改是找不到原来的数据。
【四】delete 删除
语法:delete from ... where...order by... limit...
例子:delete from exam_result where name='孙悟空';
从exam_result这张表中删除名字称为’孙悟空‘的人的记录
【五】数据库约束
约束类型:
NOT NULL——指示某列不能存储NULL值。
UNIQUE——保证某列的每行必须有唯一的值
DEFAULT——规定给没有给列赋值时的默认值
PRIMARY KEY——NOT NULL和UNIQUE的结合版本,有唯一标识,有助于快速找到表中的一个特定的记录。
FOREIGN KEY——保证一个表中的数据匹配另一个表中参照的完整性。
CHECK——保证列中的值符合指定的条件,对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。
【六】聚合函数
常见的统计总是,计算平均值等操作,可以使用聚合函数来实现,常见的聚合函数有:
函数 说明
COUNT() 返回查询到的数据的数量
SUM() 返回查询到的数据的总和,不是数字没有意义
AVG() 返回查询到的数据的平均值,不是数字没有意义
MAX() 返回查询到的数据的最大值,不是数字没有意义
MIN() 返回查询到的数据的最小值,不是数字没有意义
tips:这个不是数字没有意义的意思是,如果这个内容为NULL,那么不把这个选项当作总量和个体量。
【七】GROUP BY子句
select中使用group by子句可以对指定列进行分组查询,需要满足:使用group by 进行分组查询时,select指定的字段必须是“分组依据字段”,其他字段若想出现在select中则必须包含在聚合函数中。
【八】HAVING
group by 子句进行分组以后,需要对分组之后进行条件过滤,不能使用where语句,需要用到having语句。
【九】笛卡尔积
看到笛卡尔这三个字,你是不是觉得很熟悉,想到我们曾经学习的高中几何的笛卡尔坐标系,事实上这个笛卡尔和高中的笛卡尔积的确是一个人。
以上就是这期的全部内容了,觉得写的还不错的话,还请给个一键三连,毕竟码字不易。如果有啥问题的话,还请位于评论区进行斧正。