资源描述:
《Java程序设计教程 教学课件 作者 杨晓燕 Java11.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十一章Java数据库连接Java程序设计教程本章主要内容数据库系统简介JDBC概述JDBC环境的建立数据库访问示例2数据库系统简介数据库是数据的有机集合;数据库系统包括数据、数据存储的硬件、控制数据存储和检索的软件(即数据库管理系统DBMS)以及数据库的用户。数据库系统不仅提供了文件处理的能力,而且对数据的组织简化了复杂查询的实现。目前比较流行的数据库系统是关系数据库3SQL语言的数据操作功能关系数据库通过SQL语句的SELECT、INSETRT、DELETE、UPDATE实现数据操纵功能。1.查询语句基本语句框架是由SELECT-F
2、ROM-WHERE结构构成的查询块。其中:SELECT<列名表>:指出要查找的数据项列表。FROM<表名表>:指出要查询过程中涉及的表,可以是一个或多个表。WHERE<条件>:指出要查询数据必须满足的条件。4(1)简单查询SELECT子句中的<列名表>指出返回查询结果集中包含的列。它可以是列名表、常数、函数或聚合函数。若列名中包含[UNIQUEDISTINCT]项,表示从查询结果集中去掉重复行。【例11.4】列出各班学生名单SELECTst_class,st_no,st_nameFROMstudent如果要列出学生所有情况,则用:SE
3、LECT*FROMstudent。【例11.5】列出所有的系名称SELECTDISTINCTst_departmentFROMstuden使用了DISTINCT选项,这样,在结果集中各系的名称仅出现一次。52.更新语句SQL的更新语句包括UPDATE(修改)、DELETE(删除)、INSERT(插入)三类语句。(1)修改语句UPDATE修改语句是按SET子句中的表达式,在指定表中修改满足条件表达式的记录的相应列值。【例11.17】将所有男生的年龄加1UPDATEstudentSETst_age=st_age+1WHEREst_sex=“
4、男”6(2)删除语句DELETE删除语句的功能是从指定表中删除满足WHERE<条件表达式>的那些记录。如果没有WHERE子句,则删除表中全部记录,但表结构依然存在。【例11.18】从学生成绩表中删除选课成绩不及格的学生记录DELETEFROMscoreWHEREsc_score<607(3)插入语句INSERT用INSERT语句向表中插入记录有两种方法以:一种是向表中插入新的一行数据,具体数值在插入语句中指定;另一种是通过子查询将其他表中满足一定条件的记录插入到指定表。输出流8【例11.19】向学生情况表中插入一个新的记录INSERTI
5、NTOstrdent(st_department,st_class,st_no,st_name,st_sex,st_age)VALUES(“计算机系”,“496111”,“49611131”,“王栋”,“男”,21)表名strdent后的列名表指出把数据插入到新记录中的哪些列,VALUES后的数值表提供要插入的具体数据,列名表中列的个数和顺序必须与数值表一一对应。9JDBC简介ODBC是微软公开的一个数据库连接标准,Java语言没有直接通过ODBC实现数据库的连接,而是引进了标准的接口规范JDBC(JavaDatabaseConnect
6、ivity,Java数据库互连),Java语言通过JDBC可以实现与数据库系统的无缝连接。10JDBC有两个重要的组件:驱动程序管理器和JDBC-ODBC桥。JDBC在包java.sql中,在使用时要通过importjava.sql.*;引入该包;同时在实现与某数据库的连接时应注意不同数据库所使用的JDBC驱动程序与JDBC-ODBC桥不同,须安装相应的JDBC驱动程序与JDBC-ODBC桥,如实现与MicrosoftSQLServer2000的数据库连接,须下载安装SQLServerJDBCsp1。11JDBC数据库连接基本步骤Jav
7、a语言操作各种数据库时所使用的程序模板都是一样的,即:importjava.sql.*;//该程序应用jdbc与ODBC桥与数据库建立联系publicclassJDBCDatabaseDemo{publicstaticvoidmain(String[]args)throwsException{Stringurl="jdbc:odbc:northwind";12Connectionconn;//建立连接类//告诉程序使用jbdc与obdc桥创建数据库连接Class.forName("sun.jdbc.odbc.JdbcOdbcDriver
8、");//使用getConnection()方法建立连接,第一个参数定义用户名,第二个参数//定义密码con=DriverManager.getConnection(url,"sa","");}}13Jav