十一 ASP对数据库的访问
内容提要 本节主要介绍数据库程序设计基础 从应用的角度介绍了SQL语言,重点介绍了常用的数据查询语言和数据操作语言 最后举例说明如何使用ASP程序执行SQL语句
数据库系统简介 数据库管理系统——通常是指DBMS(Database Management System) 它是一个程序集合,使我们能够在数据库中存储和修改信息,并从数据库中抽取信息。 目前主要使用的是关系型数据库
数据库的基本术语 数据库就是把各种各样的数据按照一定的规则组合在一起形成的数据集合。常用的关系型数据库有:Access、SQL Server、Oracle、FoxPro等等。关系型数据库是由二维表格组成的数据集合。
SQL语言概述 SQL(Structured Query Language,结构化查询语言)是关系型数据库的标准语言,是由国际标准组织提出的,各种关系型数据库都支持SQL指令。
基本SQL语句 基本的SQL语句包括数据查询语言DQL(Data Query Language)和数据操纵语言DML(Data Manipulation Language),也就是对数据库最常用的四大基本操作: 查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)。
数据准备 首先创建一个Access数据库表,打开Access2003,选择“新建数据库”,数据库命名为:“person.mdb”,出现如图界面。
查询句型一:简单查询语句 例1:SELECT * FROM grade 功能说明:将grade表中的所有字段取出来。 例3:SELECT 学号,姓名,语文+数学+英语 as 总成绩 FROM grade 功能说明:将grade表中的学号和姓名取出来,并将语文、数学和英语成绩相加产生虚拟列总成绩。
查询句型二:使用条件查询 例1:SELECT * FROM grade WHERE 数学>60 功能说明:把所有数学成绩大于60分的记录选出来。 例2:SELECT * FROM grade WHERE 数学=300 OR 语文=300 功能说明:把数学成绩等于300分或者语文成绩等于300分的人选出来。 例3:Like子句基本格式一:“_”匹配。 功能说明:每个下划线匹配一个任意字符,注意只匹配一个字符。比如:姓名 like '_敏',匹配姓名以“敏”字结尾且字数等于二的所有数据记录,如:“张敏”。 例4:Like子句基本格式二:“%”匹配。 比如:姓名 Like '%敏%',匹配姓名中出现“敏”的所有数据记录,如:“周惠敏”,“于敏”、“敏大”、“敏二”等。比如要在数据库中查询姓江的人,只要利用一条SQL语句就可以,SELECT * FROM 数据库表 WHERE 姓名 Like '江%'。
查询句型三:进行排序 例1:SELECT * FROM grade ORDER BY数学 注:从低到高排序 例3:SELECT * FROM grade ORDER BY 数学 DESC 注:从高到低排序 功能说明:从grade表中取出所有字段,并按数学成绩倒序。 例4:SELECT TOP 5 * FROM grade 功能说明:从grade表中取出前五条记录的所有字段。
DML的基本格式 DML包括三种基本格式: 数据添加(INSERT INTO)、数据修改(UPDATE)和数据删除(DELETE)。
DELETE指令:删除记录。 基本语法:DELETE FROM 数据表 WHERE 条件 例:DELETE FROM grade WHERE 数学=0 功能说明:删除所有数学成绩为零的记录,如果没有WHERE子句,则删除所有记录。
UPDATE指令:更新数据记录 基本语法:UPDATE 数据表 SET 字段名1=新值, 字段名2=新值 … WHERE 条件 例1:UPDATE grade SET 数学=数学+10 说明:将grade表中所有人的成绩加10分 例2:UPDATE grade SET 数学=100 WHERE 姓名 like '%敏%' 功能说明:将姓名中含有敏的人的数学成绩更新为100分
INSERT INTO指令:添加数据记录。(INTO可以省略) 基本格式1:INSERT INTO 数据表VALUES (字段新值) 基本格式2:INSERT INTO 数据表(字段一,字段二,……) VALUES (字段新值) 其中关键字两种格式的区别是:当VALUES含有数据库表所有字段的值,并且顺序和数据库字段一致时,就可以省略数据库表后面的字段名称。 例1:INSERT INTO grade(学号, 姓名, 数学) VALUES (1234, '小周',70) 例2:INSERT INTO grade VALUES (5678, '小周',70,80,90) 其中,例2等价于: INSERT INTO grade(学号, 姓名, 语文, 数学, 英语) VALUES (5678, '小周',70,80,90) 因为包含数据库所有字段,而且顺序和数据库一致,所以字段列表可以省略。
ASP中使用SQL语句 在ASP程序中,可以执行各种SQL语句。通常情况下分成两大类:执行SQL查询语句和执行SQL操作语句。 其中SQL查询语句包括SELECT语句,SQL操作语句包括:INSERT语句、UPDATE语句和DELETE语句。
在ASP中执行SQL查询语句 执行SQL查询语句如程序5-01.asp所示。 可以在文本框内输入测试的Select语句。程序中利用语句“If Request(”SQL“) <>”“ Then”判断是否有输入,然后连接到当前文件夹下的person.mdb数据库文件。 函数“Function rstotab(rs)”的功能是将数据以表格的形式输出到浏览器上。每条语句的具体意义,将在下节进一步讲解。