Java实训笔记(八)之mysql
Java实训笔记(八)之MYSQL篇
今天首先进行函数的讲解,函数主要分为:
1、 聚合函数
2、 字符串函数
3、 日期函数
4、 数学函数
聚合函数:由一组值计算后产生一个值。
常用函数有:
函数名 |
函数意义 |
Count() |
统计非空行数 |
Max()、min() |
计算最大数、计算最小数 |
Avg() |
求平均 |
Sum() |
求和 |
在函数中还可以使用distinct来表示不重复数据。
问题:计算每门课程的参加考试的人数?(假定score来表示成绩表,此表中有sid表示学号、cid表示课程号、grade表示成绩)
解决问题方法:
1、统计人数使用count;
2、每门课程需要使用分组(group by)
答案:
Select count(*) from score where grade is not null group by cid;
字符串函数:在mysql字符串中第一个字符的编号从1开始。
常用函数有:
函数名 |
函数意义 |
Length()、bit_length() |
求字符串长度、二进制字符串的长度 |
Concat() |
字符串连接 |
Ascii() |
求平均 |
Char |
求和 |
Ltrim() |
去除左边空格 |
Rtrim() |
去除右边空格 |
Left() |
从左边开始取字符 |
Right() |
从右边取开始取字符 |
Instr() |
查找位置 |
Substring() |
取子串 |
Rerverse() |
字符串反转 |
Bin() |
二进制 |
Oct() |
八进制 |
Hex() |
十六进制 |
Locate() |
得到字符的出现的位置 |
Repeat() |
字符重复 |
Format() |
格式字符串 |
日期函数:用来处理日期的函数
1、 ADDDATE(date,INTERVAL expr type) ADDDATE(expr,days) (ADDDATE()就是DATE_ADD()的同义词)
Type值 |
type值 |
MINUTE_SECOND |
MICROSECOND |
HOUR_MICROSECOND |
SECOND |
HOUR_SECOND |
MINUTE |
HOUR_MINUTE |
HOUR |
DAY_MICROSECOND |
DAY |
DAY_SECOND |
WEEK |
DAY_MINUTE |
MONTH |
DAY_HOUR |
QUARTER |
YEAR_MONTH |
YEAR |
MINUTE_MICROSECOND |
SECOND_MICROSECOND |
例如:推迟一个月
Select adddate(curdate(),interval 1 month);(curdate()获得当前日期,now()获得当前日期和时间,curtime()获得当前时间)
2、 Datediff:两者日期之间的差值
3、 DAY() 或者dayofmonth()
4、 Dayname():
5、 Dayofweek
6、 Dayofyear
7、 Extract():用来提取日期中某一个部分;
问题:统计本周内的营业额.(销售表sale(sid,sname,sdate,count,number));
解决问题方法:如何确定本周,在这里就要用到extract函数用来取出日期中的周数即可。
代码:select sum(count*number) from sale
Where extract(week from curdate()) = extract(week from sdate);
数学函数
Random():用来产生随机数。
多表查询:
实现多表查询主要通过连接和子查询来实现。
连接的方式:连接分为内连接和外连接,外连接分为做外连接和右外连接。
示意图:(通过学生信息表和成绩表,两张表有一个公共字段叫做学号)
代码示例:
三张示例表的结构:学生信息表stdi
补充:软件开发 , Java ,