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