第5章 查询的创建与使用
第5章 JSP 中使用数据库PPT课件

主讲:何老师
9
5.3.2 游动查询
Result 的next()方法顺序地查询数据,但有时候我们需要在结果集中 前后移动、或显示结果集指定的一条记录等。这时,我们必须要返回一 个可滚动的结果集。为了得到一个可滚动的结果集,和上一节不同的是, 我们必须使用下述方法先获得一个 Statement 对象:
Statement stmt=con.createStatement(int type ,int concurrency); 然后,根据参数的 type、concurrency 的取值情况,stmt 返回相应 类型的结果集: ResultSet re=stmt.executeQuery(SQL 语句); type 的取值决定滚动方式,取值可以是: ResultSet.TYPE_FORWORD_ONLY :结果集的游标只能向下动。 ResultSet.TYPE_SCROLL_INSENSITIVE :结果集的游标可以上 下移动,当数据库变化时,当前结果集不变。
ResultSet.TYPE_SCROLL_SENSITIVE :返回可滚动的结果集,当 数据库变化时,当前结果集同步改变。
主讲:何老师
10
Concurrency : 取值决定是否可以用结果集更新数据库, Concurrency 取值: ResultSet.CONCUR_READ_ONLY :不能用结果集更新数据库中的表。 ResultSet.CONCUR_UPDATETABLE :能用结果集更新数据库中的表。
滚动查询经常用到ResultSet 的下述方法: public boolean previous() :将游标向上移动,该方法返回boolean 型据,当 移到结果集第一行之前时返回false. public void beforeFirst :将游标移动到结果集的初始位置,即在第一行之前。 public void afterLast() :将游标移到结果集最后一行之后。 public void first() :将游标移到结果集的第一行。 public void last() :将游标移到结果集的最后一行。 public boolean isAfterLast() :判断游标是否在最后一行之后。 public boolean isBeforeFirst() :判断游标是否在第一行之前 public boolean ifFirst() :判断游标是否指向结果集的第一行。 public boolean isLast() :判断游标是否指向结果集的最后一行。 public int getRow() :得到当前游标所指行的行号,行号从1 开始,如果结果集没 有行,返回0 public boolean absolute(int row) :将游标移到参数row 指定的行号。
第5章 SQL语言

例 5.7 找出工作在面积大于 1400 的仓库的职工号 以及这些职工所在的城市
SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (面积>1400) AND(职工.仓库号=仓库.仓库号)
若使用SELECT SUM(DISTINCT工资) FROM 职工
举例
例5.15 求北京和上海的仓库职工的工资总和
SELECT SUM(工资) FROM 职工 WHERE 仓库号 IN ; (SELECT 仓库号 FFROM 仓库 WHERE 城市=”北京” OR; 城市=”上海”)
例5.16 求所有职工的 工资都多于2210元的仓库的平均 面积
[UNION …] [ORDER BY …]
• SELECT说明要查询的数据 • FROM说明要查询的数据来自哪个或哪些表, 可以对单个表或多个表进行查询; • WHERE说明查询条件,即选择元组的条件; • GROUP BY短语用于对查询结果进行分组, 可以利用它进行分组汇总; • HAVING短语必须跟随GROUP BY 短语使 用,它用来限定分组必须满足的条件; • ORDER BY 用来对查询的结果进行排序。
“武汉”的“SH4”仓库还没有职工,但该仓库的信息 也被检索出来了。
举例
• 排除那些还没有职工的仓库,检索要求描述 为: 查询所有的职工工资都多于 2210元的 仓库的信息,并且该仓库至少要有一名职工.
SELECT * FROM 仓库 WHERE 仓库号 NOT IN ; (SELECT 仓库号 FROM 职工 WHERE 工资<=2210) ; AND仓库号IN (SELECT 仓库号 FROM 职工)
第5章 表数据操作-MySQL数据库技术与应用-赵明渊-清华大学出版社

MySQL数据库技术与应用
5
•
5.1 插入数据
如果插入值的顺序和表定义的列的顺序不同,在插入全部列时, 则不能省略列名表,参见下例。
【例5.2】向student1表插入一条记录,学号为“196002”,姓名为 “李茜”,专业为“通信”,总学分52,性别为“女”,出生日期 为“1998-07-25”。
MySQL数据库技术与应用
2
•
5.1 插入数据
语法格式:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY][IGNORE] [INTO] table_name [(col_name ,...)] VALUES({EXPR| DEFAULT},...),(...),... |
mysql> INSERT INTO student1 (sno, sname, sbirthday, tc) -> VALUES('196004','周俊文', '1998-03-10', 50);
执行结果:
Query OK, 1 row affected (0.06 sec)
MySQL数据库技术与应用
+----------+---------+------+--------------+------------+----+
| 196001 | 董明霞 | 女 | 1999-05-02 | 通信 | 196002 | 李茜 | 女 | 1998-07-25 | 通信
SQL Server数据库技术及应用教程(SQL Server 2016)第5章 数据库的创建与管理

• SQL Server 数据库具有以下三种类型的文件。
• (1)主数据文件
• 主数据文件是数据库的起点,指向数据库中的 其他文件。每个数据库都有一个主数据文件。 主数据文件的推荐文件扩展名是.mdf。例如, 某销售管理系统的主数据文件名为 Sales_data.mdf。
• (2)次要数据文件
在“常规”页中可以查看数据库的基本信息,包括:数 据库上次备份日期、名称、状态等。
在“文件”页和“文件组”页中可以修改数据库的所有 者。“文件”页如图5-14所示。 在“选项”页中,可以设置数据库的故障恢复模式和排 序规则。
“选项”页中的其他属性和“权限”页、“扩展属性”页、
“镜像”页等属性是数据库的高级属性,通常保持默认值 即可。如果要进行设置或定义可参考SQL Server 2016联机帮 助。
/*更改文件属性*/
|MODIFY NAME=新数据库名称
/*更改数据库名称*/
|MODIFY FILEGROUP 文件组名称{文件组属性|NAME=新文件组名称}
/*更改文件组属性,包括更改文件组名称*/
• ③ 显示“新建数据库”窗口,窗口左上方的“选择页” 框中有三个选项,分别对应“常规”页、“选项”页和 “文件组”页,这里只设置“常规”页,其他页使用系 统默认设置。
• 在“选择页”框中选择“常规”页,在窗口右侧将显示 相应的设置内容,在“数据库名称”框中填写要创建的 数据库名称“StudentMark”,也可以在“所有者”框 中指定数据库的所有者,如sa。这里使用默认值,其他 属性也按默认值设置,如图5-3所示。
• ② 单击“执行”按钮,然后在对象资源管理器中刷新, 展开“数据库”结点就能看到刚创建的Teacher数据库, 如图5-12所示。
MySQL数据库实用教程(附微课)教案05 数据查询

总结课程内容,重申重点、难点
课后任务
完成“例5-39”“例5-40”“例5-41”……和"例5-43,,
任务名称
第五节课堂案例:学生成绩管理数据库的数据查询
教学目的
通过实例加强对数据查询的理解
教学方法
课堂授课、班级授课
教学手段
多媒体教学
重点难点
重点:等值连接的多表查询
难点:查询条件设置、聚合函数应用于分组
教学
内容
设计
课程引入:通过提出问题“综合应用查询语句完成对学生成绩管理的数据查询”引入本课
授课内容:
一、单表和多表的查询
二、使用GRoUPBY子句和聚合函数
三、子查询
总结课程内容,重申重点、难点
课后任务
完成第5章的项目实训
******学校
教师教案
(学年第学期)
课程名称:MVSO1数据库应用
授课专业:
任课教师:
所在系部:
第5章数据查询
任务名称
第一节数据查询语句、单表查询
教学目的
掌握SE1ECT语句的基本语法格式和含WHERE子句的单表查询
教学方法
课堂授课、班级授课
教学手段
多媒体教学
重点难点
重点:SE1ECT语句的基本语法格式、简单数据查询、条件数据查询
任务名称
第四节子查询、联合查询
教学目的
掌握子查询和联合查询
教学方法
课堂授课、班级授课
教学手段
多媒体教学
重点难点
重点:子查询和联合查询难点:子查询的执行顺序
教学
内容
课程引入:通过提出问题“在执行某个查询的过程中使用另一个查询的结果”引入本课
第5章数据库窗体

5.1.5 控件(创建控件的方法)
2.创建控件的方法 (1)在基于记录源的窗体中,可以通过从字段列
表中拖动字段来创建控件。其中的字段列表是列出了 基础记录源或数据库对象中的全部字段的窗口。
(2)通过单击工具箱中某一控件按钮来直接创建 控件。
(3)在确保工具箱中的“控件向导”按钮按下后, 通过单击工具箱中某一控件按钮,并使用该控件向导 (当Access对该控件提供有控件向导时才可以使用该 控件向导)来创建控件。
在数据透视表视图中,可以动态地更改窗体的版面,从而 以各种不同方法分析数据。可以重新排列行标题、列标题和筛选 字段,直到形成所需的版面布置为止。每次改变版面布置时,窗 体会立即按照新的布置重新计算数据。 (5)数据透视图视图
在数据透视图视图中,可以动态地更改窗体的版面,从而 以各种不同方法分析数据。可以重新排列行标题、列标题和筛选 字段,直到形成所需的版面布置为止。每次改变版面布置时,窗 体会立即按照新的布置重新计算数据并显出对应的图表。
窗体属性决定窗体的结构、外观和行为。控件属 性决定控件的结构、外观和行为,以及其中所含文本 或数据的特性。
使用某一对象的“属性”对话框可以设置其属性。 在选定了窗体、节或控件后,单击工具栏中的“属性” 按钮,可以打开其“属性”对话框。
一般来说,Access 对各个属性都提供了相应的 默认值或空字符串,用户在打开某个对象的“属性” 对话框后,可以重新设置该对象的任一属性值。
页面页脚只出现在打印窗体中。 (5)窗体页脚节 窗体页脚节显示对每条记录都一样的信息,如命令按钮或有
关使用窗体的指导。打印时,窗体页脚出现在最后一个打印页的 最后一个主体节之后,最后一个打印页的页面页脚之前。
5.1.3 窗体的视图类型
第5章 DM数据库创建与配置

主讲教师: 时间ቤተ መጻሕፍቲ ባይዱ202x.xx.xx
目录
CONTNETS
01 字符集 02 DM数据库管理 03 模式管理 04 表空间管理 05 模式对象的空间管理 06 知识点小结
00
达梦数据库管理系统(以下简称DM数据库)是基于客户/服 务器方式的数据库管理系统,可以安装在多种计算机操作系 统平台上。
类多,要在不同语言的国家发布,就应该选择Unicode字符 集,就目前对DM_SQL来说,选择utf-8。 ➢ (2)如果应用中涉及已有数据的导入,就要充分考虑数据 库字符集对已有数据的兼容性。假若已经有数据是GBK文字, 如果选择uft-8作为数据库字符集,就会出现汉字无法正确 导入或显示的问题。
12
01 DM字符集的选择(续)
选择字符集时应该考虑以下几点: ➢ (3)如果数据库需要支持中国国内少数民族的文字,范围
包含繁体汉字以及其他字符集且编码字节的长度不定,那 么选择GB18030最好。如果主要处理的英文字符,只要少量 汉字,那么选择UTF-8比较好。 ➢ (4)如果数据库需要做大量的字符运算,如比较、排序等, 那么选择定长字符集可能更好,因为定长字符集的处理速 度要比变长字符集的处理速度快。 ➢ (5)考虑客户端所使用的字符集编码格式,如果所有客户 端都支持相同的字符集,则应该优先选择相同字符集作为 数据库字符集。这样可以避免因字符集转化带来的性能开 销和数据损失。
29
02 创建数据库
核对完创建的信息后,开始创建数据库、创建并启动实 例、创建示例库。如下图所示。
30
02 创建数据库(续)
安装完成之后将显示对话框,提示安装完成或错误反馈 信息,如下图所示。
31
第五章 数据库的维护和应用

第五章数据库的维护和应用一、例题解析【例题1】设数据表已经打开,为了在表尾增加一条空记录,应使用的命令是()。
A.APPEND B.APPEND BLANK C.INSERT D.INSERT BLANK【解析】答案A,APPEND命令打开一个输入记录的浏览窗口;答案D,INSERT BLANK是插入一条空记录,但必须将记录指针移动到文件尾;答案B是在文件尾追加一条空记录,这个命令常常配合REPLACE命令用于程序中添加记录。
答案:B【例题2】在打开的职工表在有字符型字段“职称”和数值型字段“工资”等,若要求先按职称的升序,职称相同再按工资降序建立排序好的zcgz.dbf文件,应使用的命令是()。
A.SORT ON职称,工资/D Tozcgz.dbfB.SORT ON工资/D,职称/A Tozcgz.dbfC.SORT ON职称+工资Tozcgz.dbfD.SORT ON职称+工资/D Tozcgz.dbf【解析】在SORT命令中,排序的依据只能是关键字段名,而不能使用关键字表达式,因此,答案C和D都是错误的。
答案B是先按工资排序,工资相同再按职称排序,与题意不符,所以正确的答案是A。
答案:A【例题3】在打开的学生档案表中有字符字段“性别”和日期型字段“出生日期”等若要先按性别排序,性别相同时再按出生日期排序创建单索引文件,应使用的命令是()。
A.INDEX ON性别,出生日期TO Xbrq.idxB.INDEX ON性别+出生日期TO xbrq.idxC.INDEX ON性别+STR(出生日期)TO xbrq.idxD.INDEX ON性别+DTOC(出生日期)TO xbrq.idx【解析】对于多重索引,索引表达式中的各字段数据类型必须是一致的。
本题中,“性别”和“出生日期”的数据类型不一致,为构成一个索引表达式,通常是使用转换函数把非字符型的数据转换成字符型的数据。
这里要用DTOC()函数将日期型转换成字符型的,因而答案B、C是错误的;答案A中,索引表达式不能是用逗号隔开的式子。