MySQL从入门到放弃(三)

4 篇文章 0 订阅
1 篇文章 0 订阅

一、数据库表的增删改查

接着上次的继续学习哈,我们还是按照之前的步骤打开MySQL,选择数据库,继续操作我们的emp表

1、delect语句

delete顾名思义,就是删除的意思,所以delete就是删除语句,使用delete语句删除表中的数据,具体的操作:delete from 表名 where 行=;如果不用where语句,则把整个表都删了,但是表还是存在的,只是里面的数据全没了,要删除整个表结构,还是用drop语句。delete语句不能删除某一列的值(可使用update,update 表名 set 字段名=‘’;)

现在我们就一起使用delect语句联系一下吧 我们现在试着做一下把‘杰杰’这一行给删了,只需要敲上:delect from emp where username='杰杰';敲完之后。我们一起看一下吧。还记得查询表中内容的那个语句吗,select *from emp;通过下图看到我们的杰杰已经不存在啦,一会要是自己没事的话,可以试试把where删掉;

2、select语句

select语句是查询语句,我们之前很多次的使用到select查询表内容了,它具有以下的特点:

select 指定查询哪些列的数据。
column指定列名。
*号代表查询所有列。
from指定查询哪张表。
DISTINCT可选,指显示结果时,是否剔除重复数据;

现在我们再自己新建一个学生表(exam),表里面有 name ,english,math,其中英语和math是成绩,好现在大家一起来建一下这个表,数据自己插入,通过之前的学习,不难吧,不会的去翻翻(一)(二) 。表建好了,现在我们去完成任务吧。我下面出现的名字是我自己写的,你们写的名字是啥,你们就写啥就行。

练习1:
查询表中所有学生的信息。
select * from exam ;
查询表中所有学生的姓名和对应的英语成绩。
select name,english from exam;
过滤表中重复数据。distinct去重
select distinct english from exam;
练习2:
在所有学生分数上加10分特长分显示。
select name,chinese+10,math+10,english+10 from exam;
统计每个学生的总分。
select name,chinese+math+english from exam;
使用别名表示学生总分。
select name,chinese+math+english as sum from exam;
select name,chinese+math+english sum from exam;
练习3:
查询姓名为张飞的学生成绩。
select * from exam where name='张飞';
查询英语成绩大于90分的同学。
select * from exam where english > 90;
查询总分大于200分的所有同学。
select name,chinese+math+english sum from exam where chinese+math+english>200;
在where字句中不能使用select语句里的别名,因为where关键字比select关键字执行顺序靠前
from --- where --- select 
练习4: 
查询英语分数在 80-100之间的同学。
select * from exam where english between 80 and 100;
select * from exam where english >= 80 and english <= 100;
查询数学分数为65,75,77的同学。
select * from exam where math in(65,75,77);
查询所有姓张的学生成绩。
select * from exam where name like '张%';
查询数学分>70,语文分>80的同学。
select * from exam where math > 70 and chinese > 80;
select * from exam where math > 60 or chinese <90;
查询数学成绩为null的学生
insert into exam values(null,'朴乾',60,null,90);
select * from exam where math is null;

练习5:order by
对语文成绩排序后输出。
select chinese from exam order by chinese desc;
对总分排序按从高到低的顺序输出
select name,chinese+math+english as sum from  exam order by sum desc;
对姓张的学生成绩排序输出
insert into exam values(null,'张飞飞',11,12,13);
select name,chinese+math+english as sum from exam where name like '张%' order by  sum asc;

ifnull的使用:
select name,ifnull(math,0)+ifnull(chinese,0)+ifnull(english,0) from exam;
#select math from exam;
select ifnull(math,0)+ifnull(chinese,0)+ifnull(english,0) as sum from exam order by sum;

待更新.....

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值