1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > asp mysql 查询_ASP数据库查询语言(一)

asp mysql 查询_ASP数据库查询语言(一)

时间:2024-06-02 15:17:32

相关推荐

asp mysql 查询_ASP数据库查询语言(一)

相信很多朋友都听说过SQL这

个名字,如果你是计算机方面的行家,SQL 的大名一定是如雷贯耳。那么 SQL 究竟是什么呢?SQL 一词实际上是 "Structured

Query Language" 结构式查询语言的缩写,是用于对存放在计算机数据库中的数据进行组织、管理和检索的一种工具;是一种特定类型的数据库--

关系数据库。而控制这种数据库的计算机程序就是我们常说的 DBMS-- 数据库管理系统。譬如:SQL

Server、Oracle、Sybase、DB2 等等。当用户想要检索数据库中的数据时,就通过 SQL 语言发出请求,接着 DBMS 对该

SQL 请求进行处理并检索所要求的数据,最后将其返回给用户,此过程被称作为数据库查询,这也就是数据库查询语言这一名称的由来。

SQL

并不是象 C、COBOL 和 Fortran 语言那样的完整的计算机语言。SQL 没有用于条件测试的 IF 语句,也没有用于程序分支的

Goto 语句以及循环语句 For 或 Do。确切的讲,SQL 是一种数据库子语言,SQL

语句可以被嵌入到另一种语言中,从而使其具有数据库存取功能。SQL 也非严格的结构式语言,它的句法更接近英语语句,因此易于理解,大多数 SQL

语句都是直述其意,读起来就象自然语言一样明了。SQL

还是一种交互式查询语言,允许用户直接查询存储数据,利用这一交互特性,用户可以在很短的时间内回答相当复杂的问题,而同样问题若让程序员编写相应的报表

程序则可能要用几个星期甚至更长时间。

在大部分 ASP 应用程序中我们都会接触到数据库,而我们在编写 ASP 应用程序时用来进行数据库操作的标准语法正是 SQL,因此 SQL 语法的重要性是不言而喻的。下面,我们就从最常用的 SQL 语句 SELECT 着手,一步一步地来学习 SQL。

询是 SQL 语言的核心,而用于表达 SQL 查询的 SELECT 语句则是功能最强也是最为复杂的 SQL

语句,它从数据库中检索数据,并将查询结果提供给用户。在本文中我们将建立一个名为 tianjiao 的简单数据库,该库中存放了一个叫 sales

的销售记录表,如下所示:

姓名性别工资销售目标销售额地区书生男250080009000上海吴冠军男3000100009999北京雷鸣男2000800010000四川雪儿女

250050006000广州顾一男260090009800大连阿卓女200040004000天津熠天男40002000020000全国

在该表中有六列即六个字段: 姓名、性别、工资、销售目标、销售额、地区,首先我们用 Select 语句列出姓名、销售目标和销售额:

Select 姓名,销售目标,销售额 From sales

结果如下: 姓名销售目标销售额书生80009000吴冠军100009999雷鸣800010000雪儿50006000顾一90009800阿卓40004000熠天2000020000

后,我们再列出所有男性的姓名、销售目标和销售额: Select 姓名,销售目标,销售额 From sales Where 性别 =" 男 "

结果如下:姓名销售目标销售额书生80009000吴冠军100009999雷鸣800010000顾一90009800熠天2000020000

下来,我们做一个相对复杂的查询,列出销售额大于销售目标的所有男性的姓名、销售目标和销售额,并且按销售目标排序。 Select

姓名,销售目标,销售额 Form sales Where 销售额 >销售目标 And 性别 =" 男 " Order By 销售目标

结果如下: 姓名销售目标销售额书生80009000雷鸣800010000顾一90009800熠天2000020000

大家可以看到,对于简单查询,SQL Select 语句和英文语法很相象,我们来分析一下 SELECT 语句的完整格式,它包括六个子句,其中 SELECT 和 FROM 子句是必须的,其它子句可以任选,每个子句的功能如下:

1、

Select 子句列出所有要求 SELECT 语句检索的数据项。它放在 SELECT

语句开始处,指定此查询要检索的数据项。这些数据项通常用选择表表示,即一组用“,”隔开的选择项。按照从左到右的顺序,每个选择项产生的一个列的查询结

果,一个选择项可能是以下项目:

(1)、列名:标识 FROM 子句指定表中的列。如果列名作为选择项,则 SQL 直接从数据库表中每行取出该列的值,再将其放在查询结果的相应行中。

(2)、常数:指定在查询结果的每行中都放上该值。

(3)、SQL 表达式:说明必须将要放入查询结果中的值按表达式的规定进行计算。

2、From 子句列出包含所要查询数据的表,它由关键字 FROM 后跟一组用逗号分开的表名组成。每个表明都代表一个包括该查询要检索数据的表。这些表称为此 SQL 语句的表源,因为查询结果都源于它们。

3、Where 子句告诉 SQL 只查询某些行中的数据,这些行用搜索条件描述。<

4、Group By 子句指定汇总查询,即不是对每行产生一个查询结果,而是将相似的行进行分组,再对每组产生一个汇总结果。

5、Having 子句告诉 SQL 只产生有 Group By 得到的某些组的结果,和 Where 子句一样,所需要的组也用一个搜索条件指定。

6、Order By 子句将查询结果按一列或多列中的数据排序。如果省略此子句,则查询结果将是无序的。

下面作者将提供一个简单但实用的运用 SQL 语句查询的 ASP 程序供大家参考。

了使大家更清楚更直接地了解 SQL 语法在 ASP 中的应用,我们先将查询的所有核心过程写成一个名为 query2table 的

SUB,然后利用 ASP 的服务器端包容功能调用该 SUB。请将以下语句剪贴到记事簿,保存为 subdbtable.inc 文件,并置于虚拟目录

asptest 下:

sub query2table(inputquery) set

conntemp=server.createobject("adodb.connection") conntemp.open

"DSN=Student;uid=student;pwd=aspmagic"

set

rstemp=conntemp.execute(inputquery) howmanyfields=rstemp.fields.count

-1 \' 统计数据库中的列数 %> < table border=1>< tr>

for i=0 to howmanyfields %>

<

td>< b>< /B>< /TD>

< < /tr>

%>

< tr>

thisvalue=rstemp(i)

If isnull(thisvalue) then

thisvalue="?

\' 如果字段为空,则将变量 thisvalue 的值定义为一个空格

end if%>

< td valign=top>< /td>

< /tr>

loop%>

< /table>

rstemp.close

set rstemp=nothing

conntemp.close

set conntemp=nothingend sub%>

成了 SUB 的定义过程,在下面几个 ASP 程序中我们只要加入想要使用的 SQL

查询语句,并调用该过程就可以非常方便的得到查询结果。将以下四段代码分别保存为

asp11a.asp、asp11b.asp、asp11c.asp、asp11d.asp 四个 .asp 文件。

< HEAD>< TITLE>asp11a.asp< /TITLE>< /HEAD>

< HTML>< body bgcolor="#FFFFFF">

call query2table("select * from publishers where name like \'A%%\'")

\' 将表 publishers 中所有姓名中有字母 A 的记录查询出来

%>

< /BODY>< /HTML>

< HEAD>< TITLE>asp11b.asp< /TITLE>< /HEAD>< HTML>< body bgcolor="#FFFFFF">

call query2table("select * from titles where Year_Published >= 1998")

\' 将表 titles 中所有发表年份大于或等于 1998 年的记录查询出来

%>

< /BODY>< /HTML>

< HEAD>< TITLE>asp11c.asp< /TITLE>< /HEAD>< HTML>< body bgcolor="#FFFFFF">

call query2table("select * from publishers where amount>10000 and sex=\'male\'")

\' 将表 publishers 中所有数量大于 10000 且性别为男的记录查询出来

%>

< /BODY>< /HTML>

< HEAD>< TITLE>asp11d.asp< /TITLE>< /HEAD>< HTML>< body bgcolor="#FFFFFF">

call query2table("select * from publishers where state< >\'NY\'")

\'将表 publishers 中所有所在城市不为纽约的记录查询出来。

%>

< /BODY>< /HTML>

利用 subdbtable.inc 文件中的所定义的过程 query2table,你就可以非常迅速地对数据库进行查询,你所要做的只是将

“conntemp.open

"DSN=Student;uid=student;pwd=aspmagic"”中的数据库名称、用户身份和密码稍加改动,并在调用

query2table 时输入想要使用的 SQL 查询语句即可。是不是很简单? 这就是 ASP 和 SQL 的魅力所在!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。