论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
§2.2 SQL介绍
SQL(Structured Query Language)即“结构式查询语言”。SQL虽然名为查询语言,但实际上具有定义、查询、更新和控制等多种功能。由于它使用方便、功能丰富、语言简单易学,很快得到应用和推广。
2.2.1 SQL的组成
SQL主要分成四个部分:
1)数据定义:这一部分也称为“SQL DDL”,用于定义SQL模式、基本表、视图和索引。
2)数据操纵:这一部分也称为“SQL DML”。它分为数据查询和数据更新两类。其中数据更新又分成插入、删除、和修改三种操作。
3)数据控制:这一部分包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
4)嵌入式SQL的使用规定:这一部分内容涉及到SQL语句嵌入在宿主语言程序中使用的规则。
2.2.2 SQL的数据查询
n SELECT语句的语法
SELECT 目标表的列名或列表达式序列
FROM 基本表和(或)视图序列
[WHERE行条件表达式]
[GROUP BY列名序列
[HAVING组条件表达式]]
[ORDER BY列名[ASC|DESC]…]
句法中[]表示该成分可有,也可无。
整个语句的执行过程如下:
a) 读取FROM子句中基本表、视图的数据,执行笛卡尔积操作。
b) 读取满足WHERE子句中给出的条件表达式的元组。
c) 按GROUP子句中指定列的值分组,同时提取满足HAVING子句中组条件表达式的那些组。
d) 按SELECT子句中给出的列名或列表达式求值输出。
e) ORDER子句对输出的目标表进行排序,按附加说明ASC升序排列,或按DESC降序排列。
SELECT语句中,WHERE子句称为“行条件子句”,GROUP子句称为“分组子句”,HAVING子句称为“组条件子句”,ORDER子句称为“排序子句”。
2.2.3 SQL的数据更新
SQL的数据更新包括数据插入、删除和修改等三种操作
1)数据插入
a) 元组值的插入
INSERT INTO 基本表名(列名表)
VALUES(元组值)
或者 INSERT INTO 基本表名(列名表)
(TABLE(元组值),
(元组值),
……)
前一种格式只能插入一个元组,后一种格式可以插入多个元组。
2)数据删除
SQL的删除操作是指从基本表删除元组,其语法如下:
DELETE FROM 基本表名
[WHERE条件表达式]
其语义是从基本表中删除满足条件表达式的元组。
3)数据修改
当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下:
UPDATE 基本表名
SET 列名=值表达式[,列名=值表达式…]
[WHERE条件表达式]
其语义是:修改基本表中满足条件表达式的那些元组中的列值,需修改的列值在SET子句中指出。
第三章 技术介绍§3.1 JSP技术介绍
在 Sun 正式发布 JSP(JavaServer Pages) 之后,这种新的 Web 应用开发技术很快引起了人们的关注。JSP为创建高度动态的 Web 应用提供了一个独特的开发。按照 Sun 的说法, JSP 能够适应上包括 Apache WebServer 、 IIS4.0 在内的 85% 的服务器产品。
3.1.1 JSP运行环境
Sun 公司的 JSP 主页上可以下载 JSP 规范,这些规范定义了供应商在创建 JSP 引擎时所必须遵从的一些规则。
在运行JSP示例页面之前,要注意安装JSWDK的目录,特别是“work”子目录下的内容。执行示例页面时,可以在这里看到 JSP 页面如何被转换成 Java 源文件,然后又被编译成class文件(即Servlet)。JSWDK软件包中的示例页面分为两类,它们或者是JSP文件,或者是包含一个表单的HTML文件,这些表单均由JSP代码处理。与ASP一样,JSP中的Java代码均在服务器端执行。因此,在浏览器中使用“查看源文件”菜单是无法看到JSP源代码的,只能看到结果HTML代码。所有示例的源代码均通过一个单独的“examples”页面提供。
3.1.2 JSP页面示例
下面分析一个简单的 JSP 页面。可以在 JSWDK 的 examples 目录下创建另外一个目录存放此文件,文件名字可以任意,但扩展名必须为.jsp。从下面的代码清单中可以看到,JSP页面除了比普通 HTML 页面多一些 Java 代码外,两者具有基本相同的结构。Java代码是通过 < % 和 %> 符号加入到 HTML 代码中间的,它的主要功能是生成并显示一个从 0 到 9 的字符串。在这个字符串的前面和后面都是一些通过HTML代码输出的文本。
< HTML>
< HEAD>< TITLE>JSP 页面 < /TITLE>< /HEAD>
< BODY>
< %@ page language="java" %>
< %! String str="0"; %>
< % for (int i=1; i < 10; i++) {
str = str + i;
} %>
JSP 输出之前。
< P>
< %= str %>
< P>
JSP 输出之后。
< /BODY>
< /HTML>
这个 JSP 页面可以分成几个部分来分析。