数据的操作_单表
一、插入数据记录
- 插入完整数据记录
Insert into 表名 values(value,value……);
如果插入的数据是字符串,那么这个字符串,必须用英文状态下的’’括起来
插入的数据和表内所有的字段要一一对应
- 插入数据记录的部分字段
Insert into 表名(字段1,字段2,…)values(value1,value2);
插入的数据和前面强调的字段要一一对应
- 插入查询结果
Insert into 表名(字段1,字段2…) select 字段1,字段2…from 表名 where …;
4.同时插入多条记录
Insert into 表名(字段1,字段2…) values(value1,value2…), (value3,value4…),
二、更新数据记录
- 更新表中的所有数据
Update 表名 set 字段名=‘value’;
- 更新特定数据记录
Update 表名 set 字段名=’value’ where …;
三、删除数据记录
1. 删除特定数据记录
Delete from 表名 where…;
2.删除所有数据记录
Delete from 表名;
Delete 删除的是表数据,对表结构不产生影响;drop 删除表和数据库
四、单表数据记录查询(重中之重)
1.简单查询:
- 查询所有字段数据
Select*from 表名;
- 查询指定字段数据
Select 字段1,字段2,字段…(最后一个不需要,) from 表名
- 避免重复数据查询(distinct)
Select distinct 字段 from 表名;
- 实现数学四则运算数据查询
Select 字段-5 from 表名;
- 在查询结果中显示格式:
Select concat(字段,’的成绩;’,字段(可以进行四则运算)) from 表名;
2. 条件查询:
- 单条件数据查询
Select 字段名 from 表名 where 条件;(条件查询关键字)
- 多条件数据查询
Select 字段名 from 表名 where条件1 and 条件2……;
(每多一个条件要多用一个and来进行连接)
带between and 关键字的范围查询(针对数字)
Select 字段1 from 表名 where 字段2 between 数字1 and 数字2;
(数字1<数字2;字段2里面的数据记录要是数字)
查询处于范围之外的数据:
Select 字段1 from 表名 where 字段2 not between 数字1 and 数字2;
- 带is null关键字的空值查询
Select 字段1 from 表名 where字段2 is null;
查询非空值
Select 字段1 from 表名 where字段2 is not null;
- 带IN关键字的集合查询
在集合中的记录查询:in
Select 字段1 from 表名 where 字段2 in(1,2,3,4);
不在集合中的记录查询:not in
Select 字段1 from 表名 where 字段2 not in(1,2,3,4);
- 带like的模糊查询
需要使用通配符来进行模糊查询。
通配符: 匹配单个字符:_
匹配任意长度的字符:%
Select 字段1 from 表名 where 字段2 like ‘value% ’
3. 排序数据记录查询:order by
Select 字段 from 表名 order by 字段;
Order by 子句:asc 表示升序,desc 表示降序,默认是asc , order by 后面可以添加很多字段
注意:如果字段中有空值,空值为最小
4. 限制查询记录条数
Select 字段 from 表名 order by 字段 desc limit 5;
查询第6条开始:
Select 字段 from 表名 order by 字段 desc limit 6,2;
(6表示排好序之后,前面6条全部不去查询,从第7条开始,查询显示出来2条记录)
5. 统计函数:
- 统计记录条数:count()函数
Select count(*) from 表名;
注意:count(*)不管表中字段包含的记录是否有空值,只要有一个字段不为空值,那么,在统计的时候,这条记录就算一条。(所有字段全为空值的记录,代表没有这条记录,统计的时候不会算上)
Count(具体字段) 对指定字段进行统计,在统计时,会忽略空值
- 统计计算平均值:avg(字段名)
Select avg(字段) from 表名;
注意:统计时,会忽略空值
把空值处理为0
Select avg (ifnull(字段,0)) from 表名;
- 统计计算求和:sum(字段名)
Select sum (字段) from 表名;
- 统计最大值和最小值:max(field)、min(Field)
Select min(字段),max(字段) from 表名;
注意:如果所操作的表是空表,那么执行统计函数时,count()函数返回的0,其他函数返回都是null
6. 分组函数(group by):
- 简单分组查询
Select 字段 from 表名 group by 字段;
注意:每一个组中,只显示一条记录。
如何显示每个分组中的指定字段值:
Select group_concat(字段) from 表名 group by 字段;
- 多个字段分组查询:
Select 字段 from 表名 group by 字段1,字段2……;
- Having子句:限定分组查询(参考where条件查询进行理解)
Select 字段 from 表名 group by 字段 having 条件;