虽然ADO组件中的Connection、Command及RecordSet都可以用来操纵数据库中的记录,但还是推荐读者使用SQL语句来操纵数据库,因为它可以使你开发的程序更专业化,而且使用SQL语句的执行效率更高,功能更强大。下面以功能来分类,介绍比较常用的SQL语句,包括查询、添加、更新、删除和统计几个方面。
查询主要用到SELECT语句,下面举例说明SELECT语句在不同情况下的使用。
例1 一般精确查询(当字段类型是字符型时,字段值需要加单引号):
sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
例2 字符串模糊比较:
sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"
例3 最多仅选出前n项符合条件的结果:
sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"
例4 在集合中查找(in的括号中也可以是一个SELECT语句):
sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"
例5 范围查找:
sql="select * from 数据表 where 字段名 between 值1 and 值2"
例6 使用别名:
sql = "SELECT 字段1 AS 学号, 字段2 AS 姓名 FROM 数据表
添加主要用到INSERT语句。下面举例说明INSERT语句在不同情况下的使用。
例1 在数据表中添加一条记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
例2 把源数据表的记录添加到目标数据表:
sql="insert into 目标数据表 select * from 源数据表"
更新主要用到UPDATE语句。下面举例说明UPDATE语句在不同情况下的使用。
例1 更新数据表中满足条件表达式的记录中的单个字段:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
例2 更新数据表中满足条件表达式的记录中的多个字段:
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
删除主要用到DELETE语句。下面举例说明DELETE语句在不同情况下的使用。
例1 将数据表中满足条件表达式的记录删除:
sql="delete from 数据表 where 条件表达式"
例2 将数据表中的所有记录删除:
sql="delete from 数据表" (将数据表所有记录删除)
不同的数据库系统都对SQL语言的标准聚合函数进行了扩展。下面列举一些常用的标准聚合函数,这些聚合函数一般都要与SELECT语句配合使用。
l AVG(字段名):求得在选择集中指定字段名的平均值。
l COUNT(*|字段名):求得选择集的个数。
l MAX(字段名):求得选择集中某字段的最大值。
l MIN(字段名):求得选择集中某字段的最小值。
l SUM(字段名):对选择集中某字段的值求和。
例1 统计数据库中满足条件表达式的字段值的和:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
用rs("别名")获取统计的值,其他函数运用同上。 |
例2 统计进货表中商品名称含有“矿泉水”的每种商品的进货数量和总价格:
Select MerchID, Name, COUNT(MerchID) AS TotalCount, SUM(nPrice * nCount) AS TotalPrice
FROM Buy
WHERE Name LIKE '%矿泉水%'
GROUP BY MerchID, Name
以“ID,Name”将符合条件的数据分组,统计该组中记录个数和总价格。每组中“ID,Name”都不完全相同。 |
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛