DML(增删改表中和数据),DQL(查询表中的数据)基础操作知识

添加数据:

insert into use(表名)(name(列名1),age(列名2),time(列名3)) values('张三',10,"1999-11-13");

注意事项

如果表名后,不定义;列名,则默认给所有列添加值,列名和值要一一对应

案例:insert into use values('小李',30,"1888-12-13");

除数字类型,其他类型需要使用引号(单双都可以)引起来

删除数据

设定了一定条件的删除数据

delete form use(表名) where id=1;

删除所有的记录

delete form use(表名);

先删除表,然后在创建一张一模一样的空表

truncate table use(表名);

修改数据

语法: update use(表名) set int(列名1) = 10(值1) ,student = '张三';

添加where 条件

update use(表名) set  int(列名1) = 10(值1) ,student = '张三' where id=3;

注意事项

 如果不加任何的条件,表中的所有所被定义的记录将会全部修改

DQL

语法

 select :字段列表

 from:表名列表

where:条件列表

group by:分组字段

order by:分组之后的条件

limit:分支限定

2.基础查询

1.去除重复

distnct:作用:去掉SELECT查询返回的记录结果中重复的记录(所有返回列的值都相同)只返回一条

语法:select distinct 字段名1 字段名2......FROM表明

案例1:去除重复的结果集

select DISTINCT  name  from student(学生表);

2.计算结果的和

案例2:计算past 和 english中的结果集之和

select past,english,past+english form student(学生表);

3.计算列

ifnull(表达式1,表达式2):null参与的运算,计算结果都为null函数的参数有两个,如果不是null,返回第一个参数,如果为null返回第二个参数

表达式1:哪个字段需要判断是否为null

表达式2:如果该字段为null后的替换值。

案例3:当past为80,english 为null 等于的结果集为?

select past,english,past+IFNULL(english,0) from student(学生表);

4.起别名

as:as也可以省略

案例4:给查询的列或者字段名起别名

as:起别名使用

语法:select 字段 as 别名

方法一:select past,english,past+IFNULL(english,0) as 总分数 from student(学生表);

方法二:select past 历史,english 英语,past+english 总分 from student;

5.多个字段的查询

select 字段名1,字段名2....from 表名;

当查询所有字段的时候,可以使用* 来替代字段列表

3.条件查询

1.where子句后跟条件

2.运算符

>,<,<=,>=,=

<>:等于

BETWEEW.......AND(在.....之间)

IN():查询出括号中所有的信息

案例:select * from st where age IN (22,25,28);

LIKE:模糊查询

  占位符: _单个任意字符

               %多个任意字符

案例1:查询单个

selsect * from st where name like '_';

案例2:查询第二个为龙的

select * from st where name like '%龙%';

案例3:查询为三个名字的人

select * from st where name like '___';

IS NULL:为null

注意:当not 配合IS NULL使用 语法格式为 is not null

案例: select * from st where age IS NULL; 查询出表中的age为null的

AND 或 && : 两者为并且的意思

or 或  I I :两者为或者的意思

not 或 ! :不的意思

4.排序查询

  语法:order by 子句

        order by 排序字段1,排序方式1, 排序字段2,排序字段3

 ASC:升序,默认的

DESC:降序

案例:当第一个排序一样的时候,才会使用第二个排序

 select * from student  order by past ASC , english DESC;

注意:如果有多个排序,则当前边 的条件值一样时,才会判断第二个条件

5.聚合函数

聚合函数:将一列数据作为一个整体,进行纵向的计算.

  count:计算个数

           一般选择非空的列:主键

          count(*):计算全部

 max:计算最大值

min:计算最小值

sum:计算和

avg:计算平均值

注意:聚合函数计算的时候,排除NULL值.

解决方案:1.选择不会为NULL的列

                 2.IFNULL(哪个字段判断为null,该字段为NULL的替换值)

6.分组查询

 1.语法:grounp by 分组字段;

 注意1: 分组之后查询的字段:分组字段,聚合函数

案例:查询出男女之间的平均值

 select sex,AVG(english) ,from student group by sex;

where 和 having 的区别?

 where 在分组之前进行限定,如果不满足条件,则不参与分组.where 后不可以跟聚合函数

having 在分组之后进行限定,如果不满足结果,则不会被查询出来 having 可以进行聚合函数的判断

案例:having的使用

select sex,AVG(english) ,from student where english<60 grounp by sex having count(id) > 2;

7.分页查询

语法:limit 开始的索引,每页查询的条数

web做分页查询需要的公式:开始的索引 = (当前页码 -1)* 每页显示的条数

公式案例:查询5条数据 第一页是1-5 查询出第二页数据?? 

select * from student  limit (2-1) * 5 ,5;


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值