12.8.1 插入记录
插入基本语法一

插入基本语法二

- 基本语法1的插入语句,表中有多少个字段就必须要插入多少个值。一个不能多,一个也不能少。若有默认值,不想传,可以写上null。
- 基本语法2中,除非有必填字段必须要写入值外。如果有默认值的不想写可以忽略不写。mysql会自动补主默认值。
- 基本语法2中,以user(id,username,sex)字段顺序为值的顺序。
基本语法变形:一次插入多条记录
insert into user(username,password,sex)
values('黄晓明', 'abcdef', 1),
( 'angelababy', 'bcdeef', 0),
( '陈赫', '123456', 1),
('王宝强', '987654', 1);
12.8.2 查询记录
基础查询

注:”*” 是一种正则表达式的写法,表示匹配所有
指定字段查询


条件查询 where

多个条件的例子:

结果集排序

多字段排序
order by 后面可以跟多个不同的字段排序,并且排序字段的不同结果集的顺序也不同,如果排序字段的值一样,则值相同的字段按照第二个排序字段进行排序。

注:如果第一个字段已经将结果给排好。第二个字段排序字段不生效。本例中,第二个字段无效.
结果集限制
对于查询或者排序后的结果集,如果希望只显示一部分而不是全部,则可以使用 limit 关键字对结果集进行数量限制。

限制结果集并排序

结果集区间选择
假设我从第0条开始取了3条记录。又想再从第3条开始取3条记录。再想从第6条开始取4条记录怎么办?
这时候就需要使用到结果集区间选择。

第三条开始再取三条呢?
mysql> select id,username, balance from money limit 3,3;
统计类函数使用
- 如果我们想知道总用户数怎么办?
- 查询谁是数据表里的首富怎么办?
- 如果我们想知道用户的平均金额怎么办?
-
如果我们想知道所有用户的总金额怎么办?
统计类函数最常用的我们有四个:
分组 group by
我们拿金额表里面的省份进行分组数据,分组数据后你会发现。有相同的省份会去掉。即,一个省份为一个组。

在分组基础上进行统计
with rollup用的很少。这个知识点设置为了解级别。
它的主要功能是对于分组的数据进行统计后,再进行一次总数统计。

结果再过滤having
having子句与where有相似之处但也有区别,都是设定条件的语句。
having 是筛选组 而where是筛选记录。

整体使用SQL
我们在上面的语句中都是单一使用的某些语句,没有整体使用过。
我们现在将语句进行整合后,配合使用一次。整体的SQL语句配合使用的语法结构如下:

我们进行一次整体的给合使用,查询money表字段:id,username,balance,province 要求id>1 余额大于50,使用地区进行分组。我们使用用户id进行降序,要求只准显示3条。
最后将SQL语句写成,查询如下:
mysql> select id,username,balance,province from money where id > 1 and balance > 50 group by province order by id desc limit 3;
网友评论