第七部分-MySQL-001单表操作

一、DML:增删改表中数据
1、insert
insert into 表名(列名1,列名2,…列名n) values(值1,值2,…值n);
insert into 表名 values(值1,值2,…值n);
2、delete
delete from 表名 [where 条件]
如果要删除所有记录:(仅仅删除记录,而不是删除表)
(1)delete from 表名; – 不推荐使用。有多少条记录就会执行多少次删除操作(不加where条件,会删除所有记录)
(2)truncate table 表名; – 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
3、update
update 表名 set 列名1 = 值1, 列名2 = 值2,… [where 条件];
二、DQL:查询
在这里插入图片描述
基础查询
1、查询表中所有数据:

select * from stu;

2、查询姓名,年龄:

select name,age from stu;

3、查询后的地址去重复:
注意:如果有重复,说明多了空白字符(比如空格)

select distinct address from stu;
select distinct name,address from stu; //多个字段相同才去重

4、计算math和english的和

select math+english from stu;	//一方有null,结果为null
select math+ifnull(english,0) from stu;	//去除null

5、起别名

select name as 名字 from stu;
select name 名字 from stu;	//as可以省略

条件查询
1、查询年龄大于等于小于30岁的所有信息
注意:>、>=、<、<=、=、!=、<>
等于是一个等号

select * from stu where age > 30;

2、区间查询 [20,30] -----且

select * from stu where age >= 20 && age <=30;
select * from stu where age >= 20 and age <=30;
select * from stu where age between 20 and 30;

3、具体查询22,18,30 -----或

select * from stu where age = 22 or age = 18 or age = 30;
select * from stu where age in (22,18,30);

4、查询null值
注意:null不能用=和!=比较

select * from stu where english is null;
select * from stu where english is not null;

模糊查询:
_:单个任意字符
%:多个任意字符(可以是0个)

1、查询姓马的人

select * from stu where name like '马%';

2、查询姓名第二个字是化的人

select * from stu where name like '_化%';

3、查询姓名为三个字的人(注意:若查到两个字,说明有空字符)

select * from stu where name like '___';

4、查询姓名中包含德的人

select * from stu where name like '%德%';

***排序查询:
升序ASC:默认
降序DESC
***

select * from stu order by math asc , englist asc;//按数学升序排序,数学一样,再按照英语 

聚合函数

1、count(*)或count(主键)--------统计表中记录数量
2、max、min
3、sum、avg

分组查询
1、按照性别分组,分别查询男、女同学的数学平均分、人数

select sex,avg(math),count(id) from stu group by sex;

查询结果:
在这里插入图片描述
2、按照性别分组,分别查询男、女同学的数学平均分、人数;要求:分数小于70的人不参与分组

select sex,avg(math),count(id) from stu where math >= 70 group by sex;

查询结果:
在这里插入图片描述
3、按照性别分组,分别查询男、女同学的数学平均分、人数;要求:分组之后,人数大于两个人

select sex,avg(math),count(id) from stu group by sex having count(id) > 2;

查询结果:
在这里插入图片描述
总结:
where是在分组之前进行限定
having是在分组之后进行限定

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值