数据库:新增、修改、分页查询、条件查询、去重等知识整理

本文详细介绍了SQL中的基本操作,包括创建表`student`,数据的新增、查询(全列、部分列、去重、排序、条件查询)、修改和删除。查询部分涵盖了`SELECT`语句的不同用法,如别名、去重、排序、条件过滤以及分页查询。此外,还展示了如何更新和删除数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

create table student(
sn int,                      
name varchar(20),
account decimal(11,2),
sgroup int
 );
1、新增:(插入了一行数据) (insert into...values..)
 insert into student(sn,name,account,sgroup) values
(1,'孙悟空',100.50,3);

(插入多行数据)
 insert into student(sn,name,account,sgroup) values
(2,'猪八戒',52.1,3),
(3,'沙和尚',99,3),
(4,'唐僧',21.01,2);

2、查询 (select ...from...)
select * from student;
(*代表所有的列)
select sn,name,account,sgroup from student;
(和带*的方法等价,都是查出所有列)

如果只想查姓名和年级则:
select name,sgroup from student;

select account+200 from student;
(则表头的名字会变成account+200,且下面的值都会+200)
别名:
select account+200 as acc from student;
select account+200 acc from student;
(则表头的名字会变成acc,下面的值依然会都+200)

3、去除重复
 select distinct sgroup from student;
(本来是3,3,2,去重后显示3,2);

4、排序
 asc 升序
 desc 降序
例如把语文成绩按升序排列:
select * from exam_result order by chinese desc;
(如果末尾不写acs或者desc,则默认为acs升序)

5、条件查询
 where 条件查询
例如查询语文成绩在八十分以上的:
select * from exam_result where chinese>80;
查总分:
select id,name,chinese+math+english from exam_result;
查总分在200分以上的:
 select id,name,chinese+math+english from exam_result where chinese+math+english>200;
查询语文成绩在70到80之间的
select * from exam_result where chinese between 70 and 80;
查询学号是2和4 的学生:
select * from student where sn in (2,4);
查询id是空的:
select * from exam_result where id is null;
查询id不是空的:
select * from exam_result where id is not null;
查询叫孙悟空的同学:
select * from exam_result where name='孙悟空';
查询姓孙的同学(模糊查询):
select * from exam_result where name like '孙%';
查询语文成绩大于70,数学成绩小于80分的同学:(多条件查询):
select * from exam_result where chinese>70 and math<80;
where 条件1 and 条件2
where 条件1 or   条件2
where 条件1 and (条件2 or 条件3)
查询满足语文成绩大于70并且(数学成绩小于85分或者英语成绩大于60)的人:
select * from exam_result where chinese>70 and (math<85 or english>60);

6、分页查询:limit
limit n  从0开始
select * from exam_result limit 3; 
(从0开始筛选3条结果)
select * from exam_result limit 2,3;   ==  select * from exam_result limit 2 offset 3;
(从2开始筛选3条件结果) (2实际上是从第三行开始,和数组一样)


查询满足(**德或是孙**) 并且(数学成绩大于75分或者英语小于70)的:
select * from exam_result where (name like '%德' or name like '孙%') and (math>75 or english<70);

select * from exam_result where name like '孙_';
(只能查出孙权,查不出孙悟空,因为_代表一个字符)

7、修改数据
(唐三藏的id为null,把它的id修改为1):
update exam_result set id=1 where name='唐三藏';
(唐三藏的id为null,把它的id修改为1,语文成绩改成70):
update exam_result set id=1,chinese=70 where name='唐三藏';
(唐三藏的id为null,把它的id修改为1,语文成绩改成数学成绩减去20):
update exam_result set id=1,chinese=math-20 where name='唐三藏';

8、删除数据:
 (删除id为3的):
delete from exam_result where id=3;
(删除全部):
delete from exam_result;

 

 

 

 

  


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值