相信很多朋友都听说过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 的魅力所在 !!!

asp mysql 查询_ASP数据库查询语言(一)相关推荐

  1. asp mysql 查询_ASP基础教程:数据库查询语言(1)

    原定计划从本篇开始就要给大家介绍 ASP 内建的 ActiveX 组件,但是考虑到我们在往后的学习中将会接触到大量的数据库查询,因此作者临时决定花一到两篇的篇幅向大家简要介绍一些数据库查询语言的基本知 ...

  2. asp mysql查询_asp的 条件查询

    ASP.NET查询页面设置form的action属性只弹出一个页面,并且每次将页面设置到最前 原文:ASP.NET查询页面设置form的action属性只弹出一个页面,并且每次将页面设置到最前 背景 ...

  3. asp mysql分页_asp数据库编程:ADO 存取数据库时如何分页显示

    ∈裁词?ADO 存取数据库时的分页显示?如果你使用过目前众多网站上的电子公告板程序的话,那你应该会知道电子公告板程序为了提高页面的读取速度,一般不会将所有的帖子全部在一页中罗列出来,而是将其分成多页显 ...

  4. 数据库 MySQL 中 DQL 数据库查询语言(特别重要)

    DQL 数据库查询语言 1.简单查询 2.where 条件字句 3.联表查询 4.自连接查询 5.分页和排序 6.子查询 7.MySQL 函数 8.select 小结 DQL(Data Query L ...

  5. MySQL查询与数据库设计 #万能公式 #思维导图 #MySQL查询 #数据库设计规范 #第二部分

    MySQL查询 零.MySQL查询万能公式 一.查询 1)查询表中记录 2)给表取名 3)去重(distinct) 二.条件查询 1)比较运算符 2)逻辑运算符 3)模糊查询 like(用通配符) r ...

  6. asp mysql 教程_ASP入门教程

    第一课 安装IIS 首先,要在电脑上安装IIS:关于安装和调试IIS本站有很多这方面的文章,会安装了这步省略,不会的话请看"网上安家"和"Win 2003动态网站IIS( ...

  7. asp.net mysql 查询_asp.net 多条件查询数据库

    ASP.NET3.5--第一章ASP.NET介绍 第一章  ASP.NET介绍 当微软创建.NET,它不仅仅梦想未来--它还担忧当代web开发技术的困惑和限制.在你开始ASP.NET3.5以前,本书帮 ...

  8. asp mysql 查询记录数_ASP如何查询ACCESS数据库中上一周的所有记录

    上一星期(七天之内): select * from art where [now] between dateadd("ww",-1,now()) and now() 上一星期(上周 ...

  9. mysql查询一个数据库所有表的记录数,mysql 查看数据库中所有表的记录数

    mysql使用select count(*) from table_name可以查询某个表的总记录数.想快速的知道数据库中所有表的记录数信息怎么办?如果使用mysql的版本在5.0及以上,可以通过查询 ...

最新文章

  1. php模拟超级课程表,一个功能完善、UI简洁的仿超级课程表的课表控件 TimetableView...
  2. 数据挖掘学到最后全是数学
  3. 片(Slice)结构
  4. Effective C++ --3 资源管理
  5. linux 修改消息队列大小
  6. 某互联网公司广告平台技术架构
  7. 昭阳E47A每天第一次开机启动速度慢的原因
  8. P3195 [HNOI2008]玩具装箱TOY DP+优化
  9. php开发pdf,使用PHP编写PDF(PDFLib)
  10. rs232 linux驱动程序,rs232驱动,USB-RS232驱动程序安装说明
  11. java连接mysql数据库的详细步骤
  12. 宏基4750网卡驱动linux,宏碁4750g无线网卡驱动下载
  13. 计算机二级保存错地方,盘点考计算机二级那些容易出错的地方
  14. Unity 一种更为简洁明了的环绕相机方案
  15. FaceBook 开发者应用申请
  16. Baizhi Memcached GJF
  17. 面向 Java 开发人员的区块链链代码
  18. 分享一些Photoshop的教程电子档(pdf格式),初学者与设计师适用
  19. 一些非常有趣的python爬虫例子
  20. EI索引!海口举办!ICIG 2021喊你来投稿啦

热门文章

  1. 智能空气测试仪“清心”
  2. 中国LED外延片市场投资策略及可持续发展建议报告2022-2027年版
  3. elasticsearch映射及字段类型
  4. AI二次开发C#使用RGBColor
  5. 【源码分享】ASP.NET大型快运(快递)管理系统带完整文档
  6. 邯郸翱翔闹元宵开学活动
  7. 【论文笔记】Enabling technologies and tools for digital twin
  8. 艺术家已经失业,下一个会是谁?
  9. 测试覆盖率工具:EclEmma
  10. WebStorm设置前端开发代码规范