第 13章 JDBC与数据库系统
JSP 动态网页新技术 1
数据库主要由数量不等的数据表所组成,数据表本身用来储存特定内容的数据并建立彼此间的关联 。
数据库
A u th o r 数据表
Bo o k s 数据表第 13章 JDBC与数据库系统
JSP 动态网页新技术 2
ODBC
利用程序连接数据库之前,首先必须在 Windows控制台里的
ODBC数据来源选项中,依所使用的数据库种类来选择其专属的
ODBC驱动程序,并指定 ODBC数据库的来源 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 3
JDBC驱动程序
JDBC(Java DataBase Connectivity)是使用 Java所编写的数据库驱动程序,因此具有跨平台的特性,Java程序或者 JSP程序都必须通过此类的驱动程序来连接数据库 。
下列 网址 提供特定 特定数据库系统 的 专署 JDBC驱动程序 。
http://industry.java.sun.com/products/jdbc/drivers
第 13章 JDBC与数据库系统
JSP 动态网页新技术 4
JDBC驱动程序与数据库间的关系
A c c e s s
数 据 库
J S P
网 页
J D B C - O D B C
连 接 驱 动 程 序
O D B C 驱 动 程 序第 13章 JDBC与数据库系统
JSP 动态网页新技术 5
新建数据库第 13章 JDBC与数据库系统
JSP 动态网页新技术 6
新建数据库第 13章 JDBC与数据库系统
JSP 动态网页新技术 7
新建数据库第 13章 JDBC与数据库系统
JSP 动态网页新技术 8
数据表结构字 段 说 明 字 段 说 明
ID 作者编号 eMail 作者电子邮件
Name 作者姓名 Phone 作者连络电话
Sex 作者性别 Address 作者连络地址第 13章 JDBC与数据库系统
JSP 动态网页新技术 9
新建数据表第 13章 JDBC与数据库系统
JSP 动态网页新技术 10
数据表字段
字段 本身 包含几个 要素,分别是“字段名称”、“数据类型”和
“说明”这 3个部份 。
字段名称,数据类型 代表一个特定字段的名称以及该字段所能储存的数据内容 。
说明 是存放这个字段的说明,这一部分能够省略 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 11
字段数据类型数据类型 说 明文本 用以储存一般字符类型的数据备注 储存大量的文字数据,例如备注类型的数据内容数字 储存数字类型的数据,例如整数浮点数等等日期 /时间 储存时间日期等类型的数据内容货币 储存需要高精确度,使用于货币金额计算的数据自动编号 使用于本身作为编号的字段,例如订单号码,于每次新增一条数据的时候,自动新增号码是 /否 储存 true或是 false等布尔类型数据第 13章 JDBC与数据库系统
JSP 动态网页新技术 12
SQL
SQL根据其功能,可以归纳成为以下 3种,DDL,DML和 DCL
Data Definition Language (DDL):这一类的 SQL语法,用以进行数据库结构的维护操作,例如建立数据表、调整字段名称、删除现 存数据表等等 。
Data Manipulation Languae(DML):提供数据库内容、数据的搜寻操作,甚至修改数据内容等等 。
Data Control Language (DCL ):提供数据库安全的相关 SQL语句,
例如设定用户权限,特定数据内容操作的安全规范等等,这一部 份的相关主题,本书并不作探讨,请参考数据库的相关书籍 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 13
JSP运用 SQL创建 WEB界面数 据 库
J S P
网 页发 送 S Q L 语 句数 据 库 引 擎处 理 S Q L 语 句返 回 S Q L 语 句处 理 结 果第 13章 JDBC与数据库系统
JSP 动态网页新技术 14
新建,删除数据 表新建数据表
CREATE TABLE tableName
(
fieldName1 fieldType1 fieldProperty1,
fieldName2 fieldType2 fieldProperty2,…
);
刪除 数据 表
DROP TABLE tableName
第 13章 JDBC与数据库系统
JSP 动态网页新技术 15
Acces数据类型字段类型名称 数据类型 说 明数字 byte 字节整数
smallint 整数
int 长整数
single 单精准数
double 双精准数文本 char(n) 记录最大为 n个字符的数据,n最大值为 255
备注 longtext 字符串数据类型,可记录最大字符串长度为 64k
日期 /时间 date 日期数据自动编号 counter 字段中的数值会自动递增第 13章 JDBC与数据库系统
JSP 动态网页新技术 16
字段属性字段属性 说 明
primary key 设定字段为主索引
unique 设定主索引字段的值不可重复
not null 设定字段内容不允许为空第 13章 JDBC与数据库系统
JSP 动态网页新技术 17
新增 刪除 字段
新增字段
ALTER TABLE tableName ADD fieldName fieldType
ALTER TABLE告诉数据库引擎现在要更新指定的数据表
tableName的内容,ADD表示新增一个字段对象,紧接着后面则指定字段的名称与类型 。
删除字段
ALTER TABLE tableName DROP fieldName
第 13章 JDBC与数据库系统
JSP 动态网页新技术 18
索引
建立主索引
CREATE INDEX indexName ON tableName(fieldName) WITH
PRIMARY
刪除索引
ALTER TABLE tableName DROP CONSTRAINT indexName
第 13章 JDBC与数据库系统
JSP 动态网页新技术 19
SELECT
SQL最基本且最重要的查询指令为 SELECT
SELECT查询的基本语法,
SELET * FROM tableName
指定使用关键词 TOP,取得数据中前几条的数据内容
SELECT TOP recordCount tablename1,tableName2,… FROM tableName
排序操作
SELECT * FROM tableName ORDER BY fieldName
第 13章 JDBC与数据库系统
JSP 动态网页新技术 20
WHERE
在进行查询的同时,SQL允许设定查询的条件式,从数据表中选择一些符合特定条件的数据,而其关键就在 WHERE语句的使用 。
SELECT * FROM tableName WHERE condition ORDER BY
fieldName
WHERE后面所附加的条件式 codition,可由运算符或关键词所组成 。
依字符串设定条件时,还可以配合使用万用字符,针对特定字段进行筛选的操作 。
若是在 WHERE之后还要进行排序,则可以将 ORDER BY子句附在其后 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 21
运算符运 算 符 说 明 运 算 符 说 明
= 等于 <= 小于等于
!= 不等于 And 逻辑运算,且,
> 大于 Or 逻辑运算,或,
< 小于 Not 逻辑运算,非,
>= 大于等于第 13章 JDBC与数据库系统
JSP 动态网页新技术 22
BETWEEN-AND
BETWEEN-AND关键词可用来设定取出数据的条件是介于两个数值之间 。
设定取出数据为 Chinese分数介于 50~80之间的数据 。
SELECT * FROM Grades WHERE
Chinese BETWEEN 50 AND 80
第 13章 JDBC与数据库系统
JSP 动态网页新技术 23
IN关键词
IN关键词可以预先设定几个筛选准则,取出的数据必须是符合这些准则指定条件值中的一个 。
SELECT * FROM Grades WHERE Name IN
(‘谈鹏程 ’,‘ 倪建 ’,‘ 梁建华 ’ )
– 这行 SQL指令使用 IN关键词,在括号中设定了三个预设值“谈鹏程”、“倪建”和“梁建华”,若运行这行 SQL指令,则数据表中姓名为“谈鹏程”、“倪建”和“梁建华”的数据都会被取出 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 24
Like关键词
LIKE关键词可以配合万用字符 * 来设定字符串查询条件,符号
* 用来表示任意字符 。
SELECT * FROM Grades WHERE Name LIKE ‘李*’
– 运行此段 SQL,数据表 grades数据表当中,字段 Name以“李”
为开头的数据都会被选取 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 25
数据变动
新增数据
INSERT INTO tableName
(fieldName1,fieldName2,…)
VALUES
(fieldValue1,fieldValue2…)
刪除 数据
DELETE * FROM tableName [WHERE Condition]
更新 数据
UPDATE tableName SET
FieldName1 = FieldValue1,FieldName1 = FieldValue1,…
WHERE condition
第 13章 JDBC与数据库系统
JSP 动态网页新技术 26
连接数据库
加载 JDBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
连接数据库
Connection objConnection=DriverManager.getConnection
("jdbc:odbc:DataBase","UserID","UserPWD")
关闭数据库
objConnection.close()
JSP 动态网页新技术 1
数据库主要由数量不等的数据表所组成,数据表本身用来储存特定内容的数据并建立彼此间的关联 。
数据库
A u th o r 数据表
Bo o k s 数据表第 13章 JDBC与数据库系统
JSP 动态网页新技术 2
ODBC
利用程序连接数据库之前,首先必须在 Windows控制台里的
ODBC数据来源选项中,依所使用的数据库种类来选择其专属的
ODBC驱动程序,并指定 ODBC数据库的来源 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 3
JDBC驱动程序
JDBC(Java DataBase Connectivity)是使用 Java所编写的数据库驱动程序,因此具有跨平台的特性,Java程序或者 JSP程序都必须通过此类的驱动程序来连接数据库 。
下列 网址 提供特定 特定数据库系统 的 专署 JDBC驱动程序 。
http://industry.java.sun.com/products/jdbc/drivers
第 13章 JDBC与数据库系统
JSP 动态网页新技术 4
JDBC驱动程序与数据库间的关系
A c c e s s
数 据 库
J S P
网 页
J D B C - O D B C
连 接 驱 动 程 序
O D B C 驱 动 程 序第 13章 JDBC与数据库系统
JSP 动态网页新技术 5
新建数据库第 13章 JDBC与数据库系统
JSP 动态网页新技术 6
新建数据库第 13章 JDBC与数据库系统
JSP 动态网页新技术 7
新建数据库第 13章 JDBC与数据库系统
JSP 动态网页新技术 8
数据表结构字 段 说 明 字 段 说 明
ID 作者编号 eMail 作者电子邮件
Name 作者姓名 Phone 作者连络电话
Sex 作者性别 Address 作者连络地址第 13章 JDBC与数据库系统
JSP 动态网页新技术 9
新建数据表第 13章 JDBC与数据库系统
JSP 动态网页新技术 10
数据表字段
字段 本身 包含几个 要素,分别是“字段名称”、“数据类型”和
“说明”这 3个部份 。
字段名称,数据类型 代表一个特定字段的名称以及该字段所能储存的数据内容 。
说明 是存放这个字段的说明,这一部分能够省略 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 11
字段数据类型数据类型 说 明文本 用以储存一般字符类型的数据备注 储存大量的文字数据,例如备注类型的数据内容数字 储存数字类型的数据,例如整数浮点数等等日期 /时间 储存时间日期等类型的数据内容货币 储存需要高精确度,使用于货币金额计算的数据自动编号 使用于本身作为编号的字段,例如订单号码,于每次新增一条数据的时候,自动新增号码是 /否 储存 true或是 false等布尔类型数据第 13章 JDBC与数据库系统
JSP 动态网页新技术 12
SQL
SQL根据其功能,可以归纳成为以下 3种,DDL,DML和 DCL
Data Definition Language (DDL):这一类的 SQL语法,用以进行数据库结构的维护操作,例如建立数据表、调整字段名称、删除现 存数据表等等 。
Data Manipulation Languae(DML):提供数据库内容、数据的搜寻操作,甚至修改数据内容等等 。
Data Control Language (DCL ):提供数据库安全的相关 SQL语句,
例如设定用户权限,特定数据内容操作的安全规范等等,这一部 份的相关主题,本书并不作探讨,请参考数据库的相关书籍 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 13
JSP运用 SQL创建 WEB界面数 据 库
J S P
网 页发 送 S Q L 语 句数 据 库 引 擎处 理 S Q L 语 句返 回 S Q L 语 句处 理 结 果第 13章 JDBC与数据库系统
JSP 动态网页新技术 14
新建,删除数据 表新建数据表
CREATE TABLE tableName
(
fieldName1 fieldType1 fieldProperty1,
fieldName2 fieldType2 fieldProperty2,…
);
刪除 数据 表
DROP TABLE tableName
第 13章 JDBC与数据库系统
JSP 动态网页新技术 15
Acces数据类型字段类型名称 数据类型 说 明数字 byte 字节整数
smallint 整数
int 长整数
single 单精准数
double 双精准数文本 char(n) 记录最大为 n个字符的数据,n最大值为 255
备注 longtext 字符串数据类型,可记录最大字符串长度为 64k
日期 /时间 date 日期数据自动编号 counter 字段中的数值会自动递增第 13章 JDBC与数据库系统
JSP 动态网页新技术 16
字段属性字段属性 说 明
primary key 设定字段为主索引
unique 设定主索引字段的值不可重复
not null 设定字段内容不允许为空第 13章 JDBC与数据库系统
JSP 动态网页新技术 17
新增 刪除 字段
新增字段
ALTER TABLE tableName ADD fieldName fieldType
ALTER TABLE告诉数据库引擎现在要更新指定的数据表
tableName的内容,ADD表示新增一个字段对象,紧接着后面则指定字段的名称与类型 。
删除字段
ALTER TABLE tableName DROP fieldName
第 13章 JDBC与数据库系统
JSP 动态网页新技术 18
索引
建立主索引
CREATE INDEX indexName ON tableName(fieldName) WITH
PRIMARY
刪除索引
ALTER TABLE tableName DROP CONSTRAINT indexName
第 13章 JDBC与数据库系统
JSP 动态网页新技术 19
SELECT
SQL最基本且最重要的查询指令为 SELECT
SELECT查询的基本语法,
SELET * FROM tableName
指定使用关键词 TOP,取得数据中前几条的数据内容
SELECT TOP recordCount tablename1,tableName2,… FROM tableName
排序操作
SELECT * FROM tableName ORDER BY fieldName
第 13章 JDBC与数据库系统
JSP 动态网页新技术 20
WHERE
在进行查询的同时,SQL允许设定查询的条件式,从数据表中选择一些符合特定条件的数据,而其关键就在 WHERE语句的使用 。
SELECT * FROM tableName WHERE condition ORDER BY
fieldName
WHERE后面所附加的条件式 codition,可由运算符或关键词所组成 。
依字符串设定条件时,还可以配合使用万用字符,针对特定字段进行筛选的操作 。
若是在 WHERE之后还要进行排序,则可以将 ORDER BY子句附在其后 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 21
运算符运 算 符 说 明 运 算 符 说 明
= 等于 <= 小于等于
!= 不等于 And 逻辑运算,且,
> 大于 Or 逻辑运算,或,
< 小于 Not 逻辑运算,非,
>= 大于等于第 13章 JDBC与数据库系统
JSP 动态网页新技术 22
BETWEEN-AND
BETWEEN-AND关键词可用来设定取出数据的条件是介于两个数值之间 。
设定取出数据为 Chinese分数介于 50~80之间的数据 。
SELECT * FROM Grades WHERE
Chinese BETWEEN 50 AND 80
第 13章 JDBC与数据库系统
JSP 动态网页新技术 23
IN关键词
IN关键词可以预先设定几个筛选准则,取出的数据必须是符合这些准则指定条件值中的一个 。
SELECT * FROM Grades WHERE Name IN
(‘谈鹏程 ’,‘ 倪建 ’,‘ 梁建华 ’ )
– 这行 SQL指令使用 IN关键词,在括号中设定了三个预设值“谈鹏程”、“倪建”和“梁建华”,若运行这行 SQL指令,则数据表中姓名为“谈鹏程”、“倪建”和“梁建华”的数据都会被取出 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 24
Like关键词
LIKE关键词可以配合万用字符 * 来设定字符串查询条件,符号
* 用来表示任意字符 。
SELECT * FROM Grades WHERE Name LIKE ‘李*’
– 运行此段 SQL,数据表 grades数据表当中,字段 Name以“李”
为开头的数据都会被选取 。
第 13章 JDBC与数据库系统
JSP 动态网页新技术 25
数据变动
新增数据
INSERT INTO tableName
(fieldName1,fieldName2,…)
VALUES
(fieldValue1,fieldValue2…)
刪除 数据
DELETE * FROM tableName [WHERE Condition]
更新 数据
UPDATE tableName SET
FieldName1 = FieldValue1,FieldName1 = FieldValue1,…
WHERE condition
第 13章 JDBC与数据库系统
JSP 动态网页新技术 26
连接数据库
加载 JDBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
连接数据库
Connection objConnection=DriverManager.getConnection
("jdbc:odbc:DataBase","UserID","UserPWD")
关闭数据库
objConnection.close()