日期:2012-07-06  浏览次数:21009 次

访问数据库(3)

  大家好,我是武汉华师的sunwen。上一课向大家讲述了如何打开一个数据库,并对db2.mdb这数据库进行了一些最基本的操作。大家一定觉得受益非浅吧。呵呵!

  因为上一课我们提及了一些SQL的语句,有的朋友可能对SQL这些数据库命令还不是很熟悉。其实我对SQL也所知甚少。所以我为了能让大家学一些SQL语句,昨天特意到了学校的图书馆搬来一本重达两公斤的SQL教程,研究了一个晚上,终于有所收获。下面就让我来介绍一下SQL语句的基本语法。

A。select查询语句

  这是一个非常常用的语句,所以,必需认真地掌握它。它包含有以下几个常见内容:

1.select_list:选择列表,它指出我们要查询的列和属性
2.into子句:说明用查询结果构造一个新表
3.from子句:指出要查询的列是在哪个表中
4.where子句:指出查询条件,它说明将表中哪些数据行返回到结果集合中
5.order by子句:说明查询结果集合中的各行的排列顺序


  也许大家对以上的说明还不太理解,那就让我用下面的例子让大家更明白些吧。
(注:以下的例子并不适用于本示例数据库)

例一:下面语句查询titles表中1991年出版的business美国书及其价格

select title,price from titles where datepart(year,pubdate)=1991 and type='business'
其中,title和price表示我们要查找的列,而titles则表示这些列所在的表,and是一个逻辑操作符,它表示要同时满足 datepart(year,pubdate)=1991和type='business'两个条件。至于datepart(year,pubdate),是一个SQL函数,它的作用是分离一个日期型字符,即将一个日期型字符中的year部提取出来。

例二: 下列语句显示discounts表中的所有列的数据:

select * from discounts
注:SQL中的通配符是*


例三:限制返回的行数:

select top 2 * from discount
返回最前面的两行
select top 2 percent * from discount
返回百分之二的行


例四:返回书价高于$20的图书及其价格:

select title,price from titles where price>$20
除了大于,小于,等于等基本运算符外,SQL还提供了between and 这样的运算符,比如将price>$20改为price between $20 and $40,那么它表示的就是价格在20$与$40之间。当然,SQL还包括许多操作符,大家可以自行查阅。

例五:价格按降序,书名按升序排列:

order by price DESC,title ASC
其中DESC表示降序,ASC表示长序,如果不加此参数,系统默认为按升序排列。

  介绍完以上内容之后,我想提醒大家一点,就是SQL中字符串的表示方法是用单引号('')而不是用双引号("")来表示,这与我们平时用ASP写程序的时候是不同的。因为这一点,将会产生许多问题,有的问题我自己也解决不了,我也需要要高手指点。就先介绍这一点吧,如果以后再遇到SQL语句,再介绍吧。