mysql内容

本文讲解了如何使用SQL查询在学生成绩表中找出每门课程成绩大于80分的学生姓名,涉及where、having、group by和having子句的应用,并演示了如何在Mysql中更新特定条件下name字段。还介绍了COALESCE函数和数据库操作中的辅助函数如@@ERROR和@@ROWCOUNT。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助
mysql的内容


命令顺序为:select, from, where, group by, having, order by, limit

where子句 = 指定行所对应的条件
having子句 = 指定组所对应的条件
order by 排序
asc 升序
D中是Group by才用来分组的,group by的作用是限定分组条件,而having则是对group by中分出来的组进行条件筛选。
所以用having就一定要和group by连用,且是先group by XXX 再having XXX,用group by不一有having(它只是一个筛选条件用的)

1 一张学生成绩表score,部分内容如下:
name course grade
张三 操作系统 67
张三 数据结构 86
李四 软件工程 89
用一条SQL 语句查询出每门课都大于80 分的学生姓名,SQL语句实现正确的是:

2 Mysql中表student_table(id,name,birth,sex),插入如下记录:
(‘1003’ , NULL , ‘2002-05-20’ , ‘男’);
(‘1004’ , ‘张三’ , ‘2000-09-06’ , ‘男’);
(‘1005’ , ‘李四’ , ‘2001-12-01’ , ‘女’);
(‘1006’ , NULL , ‘2001-12-02’ , ‘女’);
修改name字段为NULL的记录,是男生时设置name=‘男生姓名’,是女生时设置name=‘女生姓名’,如下SQL正确的是()?

Select distinct name from score where name not in(Select name from score where grade <= 80);

3 update student_table set name = ( case when sex = ‘男’ then ‘男生姓名’ when sex = ‘女’ then ‘女生姓名’ end) where name is null ;

没有case when …end

update set 固定搭配

4 SELECT COALESCE(NULL,fat,2)AS name1,COALESCE(pig,test,test)AS name2 FROM NAMETABLE;以上SQL执行后name1和name2分别为多少

fat,pig

如果value1不为空值则返回value1;否则判断value2是否是空值,
如果value2不为空值则返回value2;

5 修改表test_tbl字段i的缺省值为1000

ALTER TABLE test_tbl ALTER i SET DEFAULT 1000;

CHANGE 用来修改字段名字以及类型
modify 用来修改字段类型
aiter column … set 用来修改字段数据

补充知识点
@@ERROR:返回执行的上一个 Transact-SQLTransact-SQL 语句的错误号。
@@IDENTITY:返回自增id。
@@ROWCOUNT:返回受上一个SQL语句影响的行数。
@@MAX_CONNECTIONS:返回最大用户连接数。

DESC是降序排序

规范化过程主要是克服数据库逻辑结构中的插入异常,删除异常,冗余度大的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值