1、第六章 数据库应用 o6.1 关系数据库基础知识 o6.2 MySql与Navicat安装与配置 o6.3 数据库操作语言 o6.4 JDBC 6.1 关系数据库基础知识o1关系(Relation):一个关系就是一个表文件,对应一张表,每个关系都有一个关系名称。o2元组(Tuple):表中的一行数据,称为元组,通常称为记录。o3属性(Attribute):表中的一列数据,通常称为字段。o4关键字(Key):可唯一标识元组的属性或属性集,通常称为主键。o5域(Domain):属性的取值范围,指某个指定区域的值。o6关系模式:对关系的描述。学号姓名性别年龄所在系00001张三男20计算机系0000
2、2李四女21农学系00003王五女19食品系0004赵六男22经管系6.2 MySql与与Navicat安装与配置安装与配置oMySql数据库是一个流行的免费开源数据库,为了方便可视化开发这里还引入Navicat可视化开发环境。下面就其安装与配置分别进行讲解。o在MySql的页面mysql/downloads/中提供了MySql数据库的下载。6.3 数据库操作语言数据库操作语言o6.3.1 数据定义语言数据定义语言oCreate语句:oCreate语句可用来创建数据库和数据表,创建数据库的语法为:oCreate database odatabase是创建数据库的关键字,用来表示创建的是数据库;
3、databaseName是数据库的名称。注:表示必填项。o创建数据表的语法为:oCreate table(ocol_name1 type not null|null default default_value auto_incremento,col_name2 type not null|null default default_value auto_incrementoo,col_nameN type not null|null default default_value auto_incremento)o例如:创建一个名为student的数据表oCreate table student(o
4、id int(4)not null primary key auto_increment,oname char(20)not null,osex int(4)not null default 0,odegree double(16,2)o);6.3.2 数据操纵语言数据操纵语言o1、insert语句oinsert语句是向数据库表中添加一行数据的语句,它的语法如下:oinsert into 表名(列名)values(值列表)o例如:在上面创建的student数据表中添加一条记录。oinsert into student(name,sex,degree)values(张三,1,80)o2、upda
5、te语句oupdate语句用于修改数据库表中特定记录或者字段的数据,其语法格式如以下代码所示:oupdate 表名 set 列名=值 where 条件oo例如,在Student表中存储所有学员的信息,如果想更改学员“张三”的分数为“86”,则已知的条件为姓名是“张三”,要修改的列为“分数”,希望修改的值为“86”,那么语句如下:oUpdate Student set degree=86 where name=张三o3、delete语句odelete语句可以删除表中的一行或多行记录,其语法格式如下所示:o odelete from 表名 where 条件o其中where子句指定将删除的记录应当满
6、足的条件,where子句省略时,则删除表中的所有记录,这种删除方式只能删除整行记录,不能删除整列。o例如,准备删除Student表中姓名为“张三”的学员,代码如下所示:odelete from Student where name=张三o4、select语句oselect语句为查询语句,其的语法结构如下所示:oselect 列名 from 表名 where 条件 group by 分组列名 having 分组后筛选条件 order by 排序列名 DESC/ASC limit N o例如,从student数据表中取出所有数据oSelect*from Student6.4 JDBCo6.4.1
7、JDBC简介 oJDBC(Java DataBase Connectivity)是Sun公司提供的一组用来按照统一方式访问数据库的API。它向程序员提供了独立于数据库的统一接口,可以使开发人员不必考虑所用的特定数据库便可编写应用程序,实现了Java与数据库的互连。6.4.2 配置配置JDBC驱动驱动o1、配置方法1:直接添加外部JAR包。o首先在要添加JAR包的工程上单击右键,选择“Build Path”“Configure Build Path”,o在Build Path窗口中选择“Librarys”页 o然后,选择【Add External JARS】按钮,打开添加外部JARS包文件对话框
8、,如图6-15所示。选择相应JAR包文件后点击【打开】,则就把一个外部JARS包文件添加到了当前工程中来 o配置方式2:添加内部JAR包 o在这种方式中首先在要添加的工程中建立一个文件夹,例如Libs o然后复制外部JAR包文件,粘贴到该文件夹中 o然后选择选择“Build Path”“Configure Build Path”,o在Build Path窗口中选择“Librarys”页,o在“Librarys”页中的右侧,选择第一个按钮【Add JARS】,弹出“JARS selection”对话框。在该对话框中找到Libs文件夹下面的JAR包文件,选择【Ok】,这样就把一个外部JAR文件添加
9、到了工程中来。6.4.3 JDBC常用接口常用接口o、Java.sql.Drivero读取数据库驱动信息,提供连接方法,建立访问数据库所用的Connection对象。o在加载某一驱动类时,它应该创建自己的实例并注册该实例,完成加载并注册驱动则由Class.forName()静态方法来完成,其语法为:oClass.forName(“JDBC驱动程序类”);o2、Java.sql.DriverManageroDriverManager类是java.sql包中用于数据库驱动程序管理的类,作用于用户和驱动程序之间。其中有一个重要的方法getConnection()方法。oStatic Connecti
10、on getConnection(String url,String user,String password)o该方法用来管理Driver对象,连接数据库,注册驱动程序、获取连接、向数据库发送信息。完成之后返回一个Connection类型的对象。o3、Java.sql.ConnectionoConnection是用来表示数据库连接对象,对数据库的一切操作都是在这个连接的基础上进行的。其常用方法有如下几个:oStatement createStatement()o4、Java.sql.StatementoStatement用于在已经建立的连接的基础上向数据库发送SQL语句的对象。它只是一个接口
11、的定义,其中包括了执行SQL语句和获取返回结果的方法。oResult executeQuery(String sqlQuery)o执行给定字符串中的SQL语句,并返回一个用于查询结果的ResultSet对象。oint executeUpdate(String sqlStatement)o执行字符串中指定的insert、Update、delete等SQL语句,还可以执行数据定义语言的语句。o5、PreparedStatement接口ojava.sql.PreparedStatement接口继承并扩展了Statement接口,用来执行动态的SQL语句,即包含参数的SQL语句。o6、Callable
12、Statement接口ojava.sql.CallableStatement接口继承并扩展PreparedStatement接口,用来执行SQL的存储过程。o7、java.sql.ResultoResult用来暂时存放数据库查询操作获得的结果集。oboolean next()o将结果集中的当前行向前移动一行。如果已经到达最后一行的后面,则返回false,否则,返回true。oXxx getXxx(int columnNumber)o当ResultSet已经定位在某一行上时,使用getXxx()方法得到这一行上单个字段的值。注意,在该方法中,Xxx表述数据类型(int、String等),针对不同
13、的字段类型,调用不同的getXxx方法()。6.4.4 访问数据库访问数据库o访问数据库的步骤如下:o(1)装载驱动程序。o(2)定义所要连接数据库的地址。o(3)与数据库建立连接。o(4)建立语句对象o(5)声明并执行SQL语句o(6)对结果集进行处理o(7)关闭对象o1、装载驱动程序o利用Class.forName(“JDBC驱动程序类”)方法装载一个数据库的驱动程序 o2、定义所要连接数据库的地址o此步骤定义所要连接的数据库资源,其通常以字符串形式给出,把这个连接数据库地址称为连接地址URL。o连接地址URL由3部分组成,各个部分之间用冒号隔开,其格式如下:ojdbc:o其中,jdbc指
14、的是JDBC的协议是jdbc。o3、与数据库建立连接o与数据库建立连接,所使用的是DriverMamager类的getConnection()方法。该方法需要3个参数,第一个参数是连接数据库的地址URL,第二个参数是访问数据库的名称,第三个参数是访问数据库的密码。o4、建立语句对象o利用Connection接口的createStatement()方法创建语句对象。o语句对象将SQL语句发送到相应的数据库,并获取执行结果,它的返回值是一个Statement。o5、声明并执行SQL语句o声明要执行的SQL语句往往是定义一个String类型变量,然后将要执行的SQL命令以字符串形式存储到刚刚声明的S
15、tring变量中。o在Statement接口中有3个方法用于执行SQL语句。o执行查询语句的executeQuery()方法。opublic ResultSet executeQuery(String sql)throws Exceptiono6、对结果集进行处理oStatement对象负责将SQL语句传递给数据库管理系统执行,返回一个ResultSet对象。ResultSet对象称为结果集,是符合条件的所有行的集合。o可以通过first()、last()、previous()、next()、absolute(int i)等方法浏览可滚动结果集中的内容,也可以通过updateString(int column,String newValue)方法对结果集中的内容进行修改,支持多结果集。o7、关闭对象o最后应当关闭Statement、Connection和ResultSet对象,这样一方面可以释放资源;另一方面可以避免数据库长期连接造成安全上的问题。关闭对象使用close()方法.