数据的操作_单表

 

一、插入数据记录

  1. 插入完整数据记录

Insert into 表名 values(value,value……);

如果插入的数据是字符串,那么这个字符串,必须用英文状态下的’’括起来

插入的数据和表内所有的字段要一一对应

 

 

  1. 插入数据记录的部分字段

Insert into 表名(字段1,字段2,…)values(value1,value2);

插入的数据和前面强调的字段要一一对应

 

  1. 插入查询结果

Insert into 表名(字段1,字段2…) select 字段1,字段2…from 表名 where …;

4.同时插入多条记录

    Insert into 表名(字段1,字段2…) values(value1,value2…), (value3,value4…),

二、更新数据记录

  1. 更新表中的所有数据

Update 表名 set 字段名=‘value’;

 

  1. 更新特定数据记录

Update 表名 set 字段名=’value’ where …;

 

三、删除数据记录

1. 删除特定数据记录

    Delete from 表名 where…;

 

 

2.删除所有数据记录

    Delete from 表名;

    Delete 删除的是表数据,对表结构不产生影响;drop 删除表和数据库

四、单表数据记录查询重中之重

1.简单查询:

  1. 查询所有字段数据

Select*from 表名;

  1. 查询指定字段数据

Select 字段1,字段2,字段…(最后一个不需要,) from 表名

 

  1. 避免重复数据查询(distinct)

Select distinct 字段 from  表名;

 

  1. 实现数学四则运算数据查询

Select 字段-5 from 表名;

 

  1. 在查询结果中显示格式:

Select concat(字段,’的成绩;’,字段(可以进行四则运算)) from 表名;

 

2. 条件查询:

  1. 单条件数据查询

Select 字段名 from 表名 where 条件;(条件查询关键字)

 

  1. 多条件数据查询

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;

  

 

 

 

  1. 带is null关键字的空值查询

Select 字段1 from 表名 where字段2 is null;

查询非空值

Select 字段1 from 表名 where字段2 is  not null;

 

 

  1. 带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);

  1. 带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. 统计函数:

  1. 统计记录条数:count()函数

Select  count(*) from 表名;

注意:count(*)不管表中字段包含的记录是否有空值,只要有一个字段不为空值,那么,在统计的时候,这条记录就算一条。(所有字段全为空值的记录,代表没有这条记录,统计的时候不会算上)

     Count(具体字段) 对指定字段进行统计,在统计时,会忽略空值

 

  1. 统计计算平均值:avg(字段名)

         Select avg(字段) from 表名;

        注意:统计时,会忽略空值

        把空值处理为0

        Select avg (ifnull(字段,0)) from 表名;

 

  1. 统计计算求和:sum(字段名)

Select sum (字段) from 表名;   

   

  1. 统计最大值和最小值:max(field)、min(Field)

Select min(字段),max(字段) from 表名;

 

注意:如果所操作的表是空表,那么执行统计函数时,count()函数返回的0,其他函数返回都是null

 

6. 分组函数(group by):

  

  1. 简单分组查询

Select  字段 from 表名 group  by  字段;

注意:每一个组中,只显示一条记录。

如何显示每个分组中的指定字段值:

    Select  group_concat(字段)  from 表名 group by 字段;

 

  1. 多个字段分组查询:

Select  字段 from 表名 group by 字段1,字段2……;

 

 

  1. Having子句:限定分组查询(参考where条件查询进行理解)

Select  字段 from 表名 group by 字段 having 条件;