实验五 mysql函数应用
一、实验目的:
1、掌握mysql中函数类型及基本应用。 2、将函数灵活应用到实际操作中。 二、实验内容:
【实验一】将课本中88页至102页出现的例子一一练习一遍并截图。 【实验二】
一、创建学生成绩表,包含五个字段 学号,性别,年龄,成绩,身份证号 并将以下记录插入到成绩表中。(m代表男,f代表女) Studentid 08001 08002 08003 08004 08005 08006 Sex m m f f m f Age 19 20 20 18 21 21 Score 92 89 61 72 63 83 Cardid 110108198802135623 330523198511230235 202052198605302012 110145198706231235 110132198504242352 110132198904282332
问题:
(1) 查询大于18岁的女学生的学号和成绩。
(2) 查询成绩大于80分学生的学号和年龄。
(3) 从身份证号中提取出生日信息,并显示身份证号对应的学号。
(4) 使用流程函数将成绩分成三个等级,成绩在80至100之间为‘good’,再
70至80之间为‘well’,在70分以下的为‘ok’。
二、建立数值表,有四个字段,数据类型分别为data1 int,data2 decimal(4,1),data3 decimal(4,2),data4 decimal(4,3),将表中所示的数值插入此表。 Data1 10 -100 -29 -79 问题:
(1) 将表中data1列的值显示为正值,data2列值显示大于该列的最小整数值,
data3列显示四舍五入有一位小数的值,data4列显示一位小数,但不进行四舍五入。
【实验三】根据问题写出对应函数。
(1)比较字符串abc和cde哪个ASCII码值大。
Data2 -0.9 -20.9 9.3 8.9 Data3 3.14 6.38 2.90 0.43 Data4 3.543 7.890 2.32 1.23 (2)将字符串‘QUADRATICALLY’转换成小写。
例子:若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机整数, 可使用以下语句: SELECT FLOOR(7 + (RAND() * 6));
(3)根据上例,请得到三个10到20之间的随机数。 (4)请算出当前时间是一年中的第几周。 (5)请显示本月的英文月份名称。
(6)请按此格式显示当前时间,(24 th,09,Tue,Mar,083) (083代表今天是一年中的第几天)
(7)计算出2009-9-9距离2010-10-10有多少天。 (8)计算出距离2008-8-8,100天的日子是几月几号。 (9)计算出现在距离高考2009-6-7还有多少天。 (10)显示当前登陆的用户名。
(11)显示3232250980代表的ip地址。
(12)显示‘abc123%’经过password加密后的值。 (13)将字符串‘student’重复显示8遍。 (14)将’welcome’ 、‘to’、 ‘china’连成一句话。
(15)将字符串’mysql5.0 is good’替换成’mysql5.0 is database’。 (16)只显示字符串’mysql is database’最左边5个字符,和最右边8个字符。
【实验四】请列出下列函数的结果,并理解每个函数的作用 (1) mysql> SELECT CONCAT('My', 'S', 'QL');
(2) mysql> SELECT CONCAT('My', NULL, 'QL');
(3) mysql> SELECT INSERT('Quadratic', 3, 4, 'What');
(4) mysql> SELECT LOWER('QUADRATICALLY');
(5) mysql> SELECT LPAD('hi',4,'??');
(6) mysql> SELECT REPEAT('MySQL', 3);