跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

Java实训笔记(八)之mysql

Java实训笔记(八)之MYSQL篇 今天首先进行函数的讲解,函数主要分为: 1、 聚合函数 2、 字符串函数 3、 日期函数 4、 数学函数 聚合函数:由一组值计算后产生一个值。 常用函数有: 函数名 函数意义 Count() 统计非空行数 Max()、min() 计算最大数、java实训笔记(八)之mysql篇今天首先进行函数的讲解,函数主要分为:

1、              聚合函数

2、              字符串函数

3、              日期函数

立即学习“Java免费学习笔记(深入)

”;

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,INTERVALexpr type) ADDDATE(expr,days) (ADDDATE()就是DATE_ADD()的同义词) Type值type值MINUTE_SECONDEclipse导入Android或其他的JAVA项目的正确方法 WORD版本文档主要讲述的是Eclipse导入Android或其他的JAVA项目的正确方法;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看下载MICROSECONDHOUR_MICROSECONDSECONDHOUR_SECONDMINUTEHOUR_MINUTEHOURDAY_MICROSECONDDAYDAY_SECONDWEEKDAY_MINUTEMONTHDAY_HOURQUARTERYEAR_MONTHYEARMINUTE_MICROSECONDSECOND_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():用来产生随机数。

多表查询:

实现多表查询主要通过连接和子查询来实现。

连接的方式:连接分为内连接和外连接,外连接分为做外连接和右外连接。

示意图:(通过学生信息表和成绩表,两张表有一个公共字段叫做学号)

代码示例:

三张示例表的结构:学生信息表stdinfo(sid pk,sname,sex ,address),成绩表 score(sid ,cid ,grade,pk(sid,cid)),课程表 course(cid pk,cname)注明:pk表示主键问题:查询学生的考试成绩。

解决问题方法:根据以上信息需要用到几张表,然后在看获得的信息是否是两张表的共同的值。

代码:select sname,cid,grade from stdinfo s inner join score sc on s.sid = sc.sid;问题:把对应的课程名称显示出来.

问题:显示所有学生的考试信息。

解决问题的方法:在这里需要用到内连接和左外连接。

子查询:在语句中含有select查询,称为子查询,子查询之外的称为外部查询,先计算子查询,然后在计算外部查询。

语法:select 列名 from 表名 where 。。(子查询)

外部查询可以是update或者delete,他们都有一个共同特点就是都含有where子句,在where中通过运算符与子查询连接,可用的运算符为比较运算符和in。

问题:查找和川大出版社在同一个城市的作者。

解决问题方法:首先要查出川大出版社所在的城市,然后在根据这个城市查找作者。

表结构:author(aid,author_name,sex,birth,city)

Publisher(pid ,publisher_name,city)代码:select author_name,sex birth ,city from author where City in (select city from publisher where publisher_name=’川大出版社’);

连接实现方式:

Select author_name,sex,birth,city from author inner join (select city from publisher where publisher_name=’川大出版社’) c on author.city = c .city;

相关文章