实训21 使用系统内置函数查询数据表记录(Ⅱ)——MySQL数据库

Ex21.1

  • 导入school_DB数据库,做以下操作:
  • 日期时间函数
    – 1. 给学生表的UPTIME字段统一赋当前时间。(知识点:UPDATE更新,NOW()函数)
    – 2. 查询2004年出生的学生信息; 查询所有10月份过生的学生信息; 显示生日是星期几。(知识点:YEAR(),MONTH(),WEEKDAY()函数)
    – 3. 显示截止今天,学生出生的总天数; (知识点:DATEDIFF())
    – 4. 将学生表的CREATETIME字段,ID为奇数的更改为1年前今天的日子;下一月的今天是星期几?(知识点:CURDATE(), DATE_ADD()函数,MOD运算符)
  • 条件判断函数
    – 5.查询专业DEPARTS表,若TYPE=1显示为二级学院,否则显示非二级学院。若TYPE=1:二级学院,TYPE=2:功能处室,TYPE=3:外企。(知识点:IF()函数)
    – 6.查询学生STUNDENTS表,已填报生日的显示生日,未填报的显示”生日未知“。(知识点:IFNULL()函数)
    – 7.显示学生生日是星期几,格式如:星期日。(知识点:CASE…WHEN…THEN…END语句,CONCAT(),WEEKDAY()函数)
# 日期时间函数
# 1. 给学生表的UPTIME字段统一赋当前时间。(知识点:UPDATE更新,NOW()函数)
UPDATE students SET uptime=NOW();

# 2. 查询2004年出生的学生信息; 查询所有10月份过生的学生信息; 显示生日是星期几。(知识点:YEAR(),MONTH(),WEEKDAY()函数)
SELECT * FROM students WHERE YEAR(birthday)=2004;
SELECT * FROM students WHERE MONTH(birthday)=10;
SELECT id,sno,sname,mclassid,birthday,
	CASE (WEEKDAY(birthday)+1)
		WHEN 1 THEN
			'星期一'
		WHEN 2 THEN
			'星期二' 
		WHEN 3 THEN
			'星期三' 
		WHEN 4 THEN
			'星期四' 
		WHEN 5 THEN
			'星期五' 
		WHEN 6 THEN
			'星期六'
		WHEN 7 THEN
			'星期日'
		ELSE  '生日未知'
	END
	AS '生日星期'
FROM students;

# 3. 显示截止今天,学生出生的总天数; (知识点:DATEDIFF())
SELECT *,DATEDIFF(NOW(),birthday) '出生天数'  FROM students;

# 4. 将学生表的CREATETIME字段,ID为奇数的更改为1年前今天的日子;下一月的今天是星期几?(知识点:CURDATE(), DATE_ADD()函数,MOD运算符)
UPDATE students 
SET createtime=DATE_ADD(CURDATE(),INTERVAL -1 YEAR)
WHERE MOD(id,2)<>0;

SELECT 
	CASE (WEEKDAY(DATE_ADD(CURDATE(),INTERVAL 1 MONTH))+1)
		WHEN 1 THEN
			'星期一'
		WHEN 2 THEN
			'星期二' 
		WHEN 3 THEN
			'星期三' 
		WHEN 4 THEN
			'星期四' 
		WHEN 5 THEN
			'星期五' 
		WHEN 6 THEN
			'星期六'
		WHEN 7 THEN
			'星期日'
		ELSE  '未知'  
	END
	AS '下一月的今天是星期几';
	
# 条件判断函数
# 5.查询专业DEPARTS表,若TYPE=1显示为二级学院,否则显示非二级学院。若TYPE=1:二级学院,TYPE=2:功能处室,TYPE=3:外企。(知识点:IF()函数)
SELECT *,IF(TYPE=1,'二级学院',IF(TYPE=2,'功能处室','外企')) AS '部门类型' 
FROM departs;

# 6.查询学生STUNDENTS表,已填报生日的显示生日,未填报的显示”生日未知“。(知识点:IFNULL()函数)
SELECT id,sno,sname,mclassid,pwd,createtime,uptime,IFNULL(birthday,'生日未知') '生日'  
FROM students;

# 7.显示学生生日是星期几,格式如:星期日。(知识点:CASE...WHEN...THEN...END语句,CONCAT(),WEEKDAY()函数)
SELECT CONCAT(sno,'--',sname,'--生日是',
	CASE (WEEKDAY(birthday)+1)
		WHEN 1 THEN
			'星期一'
		WHEN 2 THEN
			'星期二' 
		WHEN 3 THEN
			'星期三' 
		WHEN 4 THEN
			'星期四' 
		WHEN 5 THEN
			'星期五' 
		WHEN 6 THEN
			'星期六'
		WHEN 7 THEN
			'星期日'
		ELSE  '未知' 
	END)  AS '学生信息'
FROM students;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值