荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: zzt (少年仲永), 信区: Java
标 题: JDBC编程技术(2) (fwd)
发信站: BBS 荔园晨风站 (Sun Apr 11 10:10:22 1999), 转信
技术服务
第四部分 JDBC编程技术
丁锂 孙元 王克宏
(接上期)
例2.1 创建供应商关系SUPPLIER。
CREATE TABLE SUPPLIER ( SNO CHAR (5) NOT
NULL,SNAME CHAR (20),SADDR CHAR (15),SNUM INTEGER));
执行以上语句就在数据库中建立一个新的供应关系表SUPPLIER,关于表SUPPLIER的描述存储
在系统的数据字典中。其中供应商号SNO为主码。CHAR(n)代表长度为n的定长字符串,INTEG
ER代表1字长(精度为32
bits)的二进制整数。
2.删除基本表格式如下:
DROP TABLE 表名;
如删除上例中的表SUPPLIER:
DROP TABLE SUPPLIER;
这样,基本表的定义连同表上的记录等全部删除,并释放相应的存储空间。
3.修改基本表格式如下:
ALTER TABLE 表名;
ADD(DROP) 列名 类型;
例如为例1中的关系SUPPLIER增加一个属性DE-SCRIPRION如下示:
ALTER TABLE SUPPLIER
ADD DESCRIPTION CHAR(100);
二、索引的定义
通常,我们可以对一个基本表建立若干索引,以提供多种存取路径和某些条件下的快速存
取。如果查询取得的行数大大少于表中所有的行所需的I/O次数时,建立索引将有很大用处?
?
一般索引的建立和删除由DBA(Data Base Administrator
)负责,存取路径的选择由系统自动 进行。
1.建立索引的格式如下:
CREATE [UNIQUE] INDEX 索引名
ON 基本表名(列名[次序] [, 列名[次序]]...)
[其它参数];
索引可以建立在一列或几列上,圆括号内是索引列的顺序说明表。其中次序指定了索引值排
序的次序,可取ASC(升序)或
DESC(降序),缺省为升序。U-NIQUE表示每一索引值只对应唯一的数据记录。例如为例2.1中
的关系SUPPLIER的属性SNO建立索引:
CREATE UNIQUE INDEX XS ON SUPPLIER (
SNO).其中XS是索引名。
2.和基本表一样,可以用DROP语句删除索引,格式为:
DROP INDEX 索引名;
删除索引的同时把有关索引的描述也从数据字典中删去。
没有修改索引的语句,因为修改索引没有意义。
三、视图的定义
视图是RDBMS中重要的概念之一。它是从一个或几个基本表导出的表,本身不独立存储在
数据库中,即数据库中只存储视图的定义,不存储对应的数据,因此是一个虚表。当查询视图
时,将对视图的查询改写为对基本表的查询。视图与基本表的区别在于视图的更新操作是受
限制的。
视图有很多用途:首先,数据有逻辑独立性,使应用程序不受数据库影响,它将应用与数据
库分离开来,便于数据库的重构;其次,使用视图可增强安全性;第三,使用户观点中的数据库
形式简单而方便。
1.SQL建立视图的格式为:
CREATE VIEW 视图名[ (字段名 [,字段名]…) ]
AS 子查询
[WITH CHECK OPTION ];
2.删除视图的格式为:
DROP VIEW 视图名;
通过上面的语句就从数据字典中删除了视图,如果导出视图的基本表被删除,则视图也将
被删除。
2.2.4 SQL数据操纵功能
SQL的数据操纵语言(DML)包括SELECT, IN-SERT,
DELETE和UPDATE
四个语句,即检索和更新两部分功能。下面我们来分别介绍。
一、SELECT语句
SQL语句的核心是数据库查询语句,它的一般格式是:
SELECT [DISTINCT]目标列
FROM 基本表(或视图)
[WHERE 条件表达式]
[GROUP BY 列名1 [HAVING 内部函数表达式]]
[ORDER BY 列名2 (ASC OR DESC)];
SELECT语句就是根据WHERE
子句中的条件表达式,从基本表(或视图)中查找满足条件的行,按SE-LECT子句中的目标列,?
〕鲂兄械姆至啃纬山峁怼?
DISTINCT表示去掉结果集中的重复行。
若有ORDER子句,则结果表要根据指定的列名2按升序或降序来对结果集中的行进行排列。
GROUP子句将结果按列名1分组,每个组产生结果表中的一个行,通常在每组中作用库函数
,分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才输出。
WHERE 后的条件表达式连接词有AND ,OR,
NOT,算术运算符等,还可以使用方式:限定范围,LIKE和
IN谓词 等。
由于SELECT语句的成分有许多可选形式,尤其是目标列和条件表达式,因此操作十分灵活
方便。下面来看一些例子。
1.简单查询
例2.2 找出例2.1中定义的关系SUPPLIER中所有的信息。
SELECT *
FROM SUPPLIER;
这个例子查询表中的所有行和列,也可以对表中的某些列进行查询,如:
例2.3 找出SUPPLIER中所有的供应者名。
SELECT SNAME
FROM SUPPLIER;
例2.4 找出供应号在14到17之间的供应商的所有信息。
SELECT SNO , SNAME, SADDR,SNUM
FROM SUPPLIER
WHERE SNO BETWEEN 14 AND 17;
这里使用了限定范围谓词BETWEEN和连接词AND,同时WHERE子句中还可使用OR,>
,< ,= ,>=,<= 等连接词和否定谓词NOT。 (未完待续)
--
日出东方,唯我不败;
天上地下,唯我独尊。
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.72]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店