第7章 Java数据库编程

上传人:012****78 文档编号:132706623 上传时间:2020-05-19 格式:PPT 页数:38 大小:218KB
返回 下载 相关 举报
第7章 Java数据库编程_第1页
第1页 / 共38页
第7章 Java数据库编程_第2页
第2页 / 共38页
第7章 Java数据库编程_第3页
第3页 / 共38页
第7章 Java数据库编程_第4页
第4页 / 共38页
第7章 Java数据库编程_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《第7章 Java数据库编程》由会员分享,可在线阅读,更多相关《第7章 Java数据库编程(38页珍藏版)》请在金锄头文库上搜索。

1、第7章Java数据库编程 本章要点关系数据库的概念 SQL语言的特点 MySQL数据库的安装和常用命令的使用SQL常用语句的格式及用法 JDBC的概念 JDBC访问数据库的方法 数据库编程实例 本章难点SQL的基本用法 MySQL常用命令的用法 JDBC访问数据库的方法 数据库编程 7 1关系数据库简介 7 1 1关系数据库数据库是相互关联的数据集合 是管理和组织信息和数据的综合系统 用二维表格的形式来表示实体和实体之间联系的数据库模型称为关系型数据库模型 以关系模型作为数据的组织存储方式的数据库称为关系数据库 在关系数据库中 不但实体用表格来表示 实体之间的关系也用表格来表示 表格是二维的

2、是由许多行和列组成的 二维表格的列称为字段 Fields 行称为记录 Records 由这些行和列形成的表格称为一个表 Table 许多这样的表就组成了一个关系数据库 Database 7 1 2MySQL数据库简介 MySQL是一个多用户 多线程的关系数据库管理系统 由于它操作简便 运行速度快 多线程 多用户 跨平台等特点 得到了广泛的应用 它还是个开源的数据库 用户可以直接从网上下载 用于个人或商业用途 不必支付任何费用 MySQL的主要技术特点 完全多线程 支持多CPU 它通过一个高度优化的类库实现函数库 速度快 没有内存漏洞 多平台 包括Windows Solaris SunOS UN

3、IX Linux等 有多种数据类型 包括integers float double char varchar text blob date time datetime year enum 提供C C Java Perl PHP 和TCL的API接口 非常灵活和安全的权限系统 密码加密 可处理大型数据 超过5000万条记录 多种语言支持 7 1 3MySQL的下载和安装 MySQL数据库可以从官方网站下载 它的URL是 7 1 4MySQL数据库基本操作指令 MySQL数据库的启动和停止命令格式 netstart stopmysql连接到mysql数据库 命令格式 mysql h主机 u用户名

4、p 用户密码 增加新用户命令格式 grant权限列表on数据库 to用户名 主机identifiedby 密码 显示数据库名列表命令格式 showdatabases 打开数据库命令格式 use数据库名 显示数据库中的数据表命令格式 showtables 退出mysql命令命令格式 exit 修改用户密码命令格式 mysqladmin u用户名 p旧密码password新密码这是DOS环境下的命令 注意p后面不留空格 注 u和 p后面可以不加空格 数据库备份 导出 命令格式 mysqldump u用户名 p 密码 databases数据库名表 文件名数据库恢复 导入 命令格式 mysql u用户

5、名 p密码数据库名test sql其中 root是用户名 123321是该用户的密码 备份成功后 在当前目录下生成了文件test sql 例7 7 从例7 6中的备份文件test sql中恢复数据库test 在DOS提示符下输入以下命令 mysql uroot p123321test test sql 7 2SQL语言基础 7 2 1SQL语言简介SQL是StructuredQueryLanguage的缩写 即结构化查询语言 它是1974年由Boyce和Chamberlin提出来的 用来实现关系运算中数据查询 数据操纵 数据定义等操作的语言 是一种综合的 功能极强的同时又简单易学的语言 它集数

6、据查询 DataQuery 数据操纵 DataManipulation 数据定义 DataDefinition 和数据控制 DataControl 等功能于一体 具有以下特点 一体化特点高度非过程化视图操作方式不同使用方式的语法结构相同语言简洁 易学易用SQL语言的动词数据查询SELECT数据定义CREATE DROP ALTER数据操纵INSERT UPDATE DELETE数据控制GRANT REVOKE 7 2 2常用SQL基本语句 create语句功能是创建数据库 创建数据表 创建视图等 create语句格式 建立数据库 createdatabase数据库名 defaultcharac

7、tersetgbk 建立数据表 createtable数据表名 字段名1属性 字段名2属性 字段名n属性 字段的属性包括字段类型 字段宽 小数位 约束 其中约束有主键约束 外键约束 非空约束等 字段之间以逗号分隔 在数据表中设置自动编号字段可在该字段声明时加上auto increment关键字 并将该字段设为主键 例如 createtablemytable idint 4 auto increment namechar 14 ageint 4 primarykey id 该命令建立一个数据表mytable 字段id为主键 且被设为自动编号字段 添加记录时 id字段的默认值是前一个记录的值加1

8、describe语句格式describe数据表名 describe语句的功能是显示数据表的结构 即显示字段名及其属性 insert语句格式 insertinto表名 字段名1 字段名2 字段名n values 字段1的值 字段2的值 字段n的值 select语句SELECT语句的功能是从数据表中检索数据 并将结果以表格的形式返回 还能实现统计查询结果 合并结果文件 作多表查询和对结果排序等操作 格式 SELECT ALL DISTINCT 别名 选项 别名 选项 FROM表名 别名 表名 别名 WHERE条件表达式 AND条件表达式 GROUPBY分组选项 分组选项 HAVING组条件表达式

9、ORDERBY排序选项 ASC DESC 排序选项 ASC DESC 命令中各参数的含义如下 SELECT是该命令的主要关键字 ALL DISTINCT 表示ALL和DISTINCT任选其一 ALL表示所有的记录 DISTINCT表示去掉重复记录 FROM表名 别名 表示被检索的数据表 表名之间用逗号分隔 这里的别名表示数据表的另一个名字 可以由用户定义 一旦定义了别名 可以在以后的命令中用别名代替表名 WHERE条件表达式 表示检索条件 GROUPBY分组选项 表示检索时 可以按某个或某些字段分组汇总 各分组选项之间用逗号分隔 HAVING组条件表达式 表示分组汇总时 可以根据组条件表达式检

10、索某些组记录 ORDERBY排序选项 表示检索时 可以按指定字段排序 ASC为升序 DESC为降序 SELECT命令的基本结构是SELECT FROM WHERE 含义是输出字段 数据来源 查询条件 在这种固定模式中 可以不要WHERE 但是必须有SELECT和FROM delete语句delete语句的功能是从数据表中删除记录 格式 deletefrom数据表名where条件表达式update语句update语句的功能是修改数据表中记录的值 格式 update表名set字段名 表达式where条件表达式 drop语句drop语句的功能是删除数据库或数据表 删除数据库格式 dropdataba

11、se数据库名 删除数据表格式 droptable数据表名 alter语句alter语句的功能是修改表的结构 增加新的字段 格式 修改表的结构 altertable表名modify字段名属性 增加新字段 altertable表名add字段名属性 7 3Java程序对数据库的访问与操作 JDBC 7 3 1数据库应用模型Client Server系统客户机 服务器 Client Server 简称C S 模型将对数据的处理划分成不同的应用程序 并分布到不同的机器上 一个C S程序将对数据的存储和检索交给数据库处理 而将对数据的操作和获得放到其他地方 服务器是数据库引擎 负责数据的存储 客户机则负责

12、创建和获得数据 Browser Server系统三层C S结构三层Client Server结构将Client端与用户界面无关的功能移到了中间层 第二层 所谓三层结构包括 表示层 PresentationLayer 应用层 ApplicationLayer 和数据层 DatastoreLayer B S结构是由三层Client Server结构转化而来的 它将Web浏览器作为表示层 将大量的业务处理程序放在应用服务器上作为应用层 而将数据库放在数据库服务器上作为数据层 7 3 2JAVA通过JDBC访问数据库 JDBC JavaDataBaseConnectivity 是用于执行SQL语句的J

13、ava应用程序接口 API JDBC由一组用Java语言写成的类和接口组成 是一种连接不同数据库的规范 其宗旨是让各数据库开发商为Java程序员提供标准的数据库访问类和接口 用JDBC开发数据库应用的原理如图所示 JDBCAPI是一系列抽象的接口 它使得应用程序员能够进行数据库连接 执行SQL语句 并得到返回结果 这些重要的接口是 java sql DriveManager用来处理装载驱动程序并且为创建新的数据库连接提供支持 java sql Connection用于完成对特定定数据库的连接 java sql Statement用于对特定的数据库执行SQL语句 java sql Stateme

14、nt又包含了以下两个重要的子类型 jva sql PreparedStatement用于执行预编译的SQL语句 java sql CallableStatement用于执行数据库中存储的过程的调用 java sql ResultSet用于保存查询所得的结果集 Java使用JDBC访问数据库需要完成以下步骤 加载合适的JDBC驱动程序 Class forName Driver MySQL驱动程序 com mysql jdbc DriverOracle驱动程序 oracle jdbc driver OracleDriverSQLServer驱动程序 com Microsoft jdbc sqlse

15、rver SQLServerDriver建立数据库连接与MySQL数据库连接的方法 Connectioncon DriverManager getConnection jdbc mysql 主机IP或主机名 3306 数据库名 用户名 密码 与Oracle数据库连接的方法 Connectioncon DriverManager getConnection jdbc oracle thin 主机IP或主机名 1521 数据库名 用户名 密码 与SQLServer数据库连接的方法 Connectioncon DriverManager getConnection jdbc microsoft sq

16、lserver 主机IP或主机名 1433 数据库名 用户名 密码 创建Statement对象Statementst con createStatement 利用Statement对象可以执行静态SQL语句 静态SQL语句可以是Select语句 Delete语句 Update语句和Insert语句 也可以使用Connection对象的preparedStatement 方法创建一个preparedStatement对象 用于执行动态SQL语句 动态SQL语句用 作为所有动态参数的占位符 先进行预编译 当给占位符所在的变量赋值后 再执行该动态SQL语句 例 str insertintomycustomervalues PreparedStatementpst con prepareStatement str id 5 各变量赋值name qiansheng age 34 address wenzhou email qiansheng pst setInt 1 id 设置占位符对应的变量值pst setString 2 name pst setInt 3 age pst setString

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号