目录
2.6.2、按照降序顺序排序 (关键字desc——》descend)
2.7.4、判断要查询的数据在指定的集合中(in(值,值....))
3.3、与where 、order by和表达式等的搭配使用
1、新增/插入数据
1.1、给表中所有字段插入数据
注意:
1.1、给表中指定字段(列)插入数据
语法格式:
insert into 表名 (列名,列名,....)values ('值','值',....);
//后面给的值,要和前面的列名顺序、个数、类型一致
我们可以通过(select*from 表名)来查看结果,select语句下面会说到。
1.2、一次插入多条记录
1.3、时间日期数据的插入
1.3.1、手动插入某个时间
1.3.2、插入当前时刻的时间
2、查找操作
2.1、全列查找(查找表的所有行,所有列)
全列查询操作非常危险,下面的操作可以针对上述的问题,进行一些优化,但是还是存在一定的危险,在使用查询语句的时候一定要非常的谨慎。
2.2、指定列查询
2.3、查询字段为表达式 (进行的是列和列之间的运算)
2.3.1、对查询的列加减乘除
给表exam_result中插入数据
对exam_result表中的每一行的数学成绩+10.
2.3.2、 对查询的多个列进行加减乘除
2.4、别名(使用as关键字)
2.5、去重查询 (关键字distinct)
distinct针对单个列进行去重。
2.6、按照查询结果排序(order by 语句)
2.6.1、按照升序顺序排序(关键字asc)
按照一个列查询,将查询结果进行排序
2.6.2、按照降序顺序排序 (关键字desc——》descend)
2.6.3、指定多个列来排序
可以这样理解,先按照数学成绩降序排序,如果数学成绩中存在相同的,则使用语文成绩进行排序,将数学成绩重复的两个人的语文成绩进行降序排序,其他人的语文成绩排序无效。
2.7、条件查询
2.7.1、条件运算符
比较运算符:
运算符 | 说明 |
> ,>= ,<,<= | 大于,大于等于,小于,小于等于 |
= | 等于,null不安全,例如null = null 结果是null |
<=> | 等于,null安全,例如null <=> null的结果是true |
!=,<> | 不等于 |
between 数值 and 数值 | 范围匹配,[ a0,a1],如果a0 <= value <= a1,返回true |
in(option,...) | 判断或者查找的元素如果是option中的任意一个,返回true |
is null | 是null |
is not null | 不是null |
like | 模糊匹配。%表示任意多个(包括0个)任意字符; _表示任意一个字符 |
逻辑运算符:
运算符 | 说明 |
and | 多个条件都为true,结果才是true,相当于Java当中的&& |
or | 任意一个条件为true,结果为true,相当于Java当中的|| |
not | 条件为true,结果为false,相当于Java当中的! |
2.7.2、使用比较运算符进行条件查询
1、查询语文成绩不及格的成绩(<60)
相当于将语文成绩通过遍历,将不及格的显示出来作为结果集。
2、查询语文成绩好于英语成绩的同学
条件查询可以直接拿两个列进行的比较
3、查询总分在200分以下的同学(条件查询,可以使用表达式作为条件)
在条件查询的时候给总分列设置别名
sql语句存在的执行规则
2.7.3、使用逻辑运算符进行条件查询
1、查询语文成绩大于80并且英语成绩大于80(and)
2、查询语文大于80或者英语大于80(or)
2.7.4、指定范围查询(between and )
1、查询语文成绩在[80,90]之间同学的成绩
2.7.4、判断要查询的数据在指定的集合中(in(值,值....))
1、查询数学成绩是58或者59或者98或者99的同学的数学成绩
2.7.5、模糊查询(like)【重点】
1、查询姓孙的同学的成绩(%)
这样就可以查到两个同学,不论孙后边是几个字,只要是满足(孙%)规则的就会全部输出。
2、使用下划线(_)按照上述查找姓孙同学的成绩
一个下滑线,只能代表一个字。
2.7.6、NULL的查询
❗❗❗注意:
使用=比较null相等。
使用<=>比较相等。
也可以使用is null这个比较运算符(is null 判断是否为空)
2.8、分页查询(limit搭配offset)
这种是我们在前端中常见的分页查询,当数据特别多的时候,我们可以使用分页查询,先查询一部分,每一页查询5个数据。想要查询剩余数据,点击下一页。这样查询的好处在于系统的压力就大大减小。
limit单独使用
limit与offest搭配使用
3、修改(update)
3.1、针对单个列进行修改
将孙悟空同学的数学成绩变为80分
3.2、针对多个进行修改
3.3、与where 、order by和表达式等的搭配使用
1、将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
修改超出范围,不会执行
4、删除(delete)【针对表中的行】
删除孙这一行的记录
4.1、删除的时候什么都不搭配
这样的操作与删表基本没有什么区别了(drop table exam_result;)
只不过这样写,exam_result表还存在,使用 drop table exam_result,这个表和数据都会被删除。