<%
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
%>

<%
Dim startime,endtime
startime=timer()
'--------------------------------------------------------------------------
Dim strSQLServerName  
Dim strSQLDBUserName  
Dim strSQLDBPassword  
Dim strSQLDBName

'数据库参数设置
'--------------------------------------------------------------------------
strSQLServerName = "zhixinda"      '服务器名称或地址
strSQLDBUserName = "sa"             '数据库帐号
strSQLDBPassword = "zhixinda"               '数据库密码
strSQLDBName = "gb"             '数据库名称
'--------------------------------------------------------------------------
Set conn = Server.CreateObject("ADODB.Connection")
strCon = "Provider=SQLOLEDB;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
conn.Open strCon
%>
建立记录集对象:
set rs=server.createobject("adodb.recordset")
rs.open SQL语句,conn,3,2

SQL常用命令使用方法:
RS.OPEN SQL,CONN,A,B
A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动
ADOPENSTATIC(=3) 只读,当前数据记录可自由移动
ADOPENKEYSET(=1) 可读写,当前数据记录可自由移动
ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动,可看到新增记录
B: ADLOCKREADONLY(=1) 默认值,用来打开只读记录
ADLOCKPESSIMISTIC(=2) 悲观锁定
ADLOCKOPTIMISTIC(=3) 乐观锁定
ADLOCKBATCHOPTIMISTIC(=4) 批次乐观锁定

(1) 数据记录筛选:

sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"

sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"

sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"

sql="select * from 数据表 where 字段名 between 值1 and 值2"

(2) 更新数据记录:

sql="update 数据表 set 字段名=字段值 where 条件表达式"

sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"

(3) 删除数据记录:

sql="delete from 数据表 where 条件表达式"

sql="delete from 数据表" (将数据表所有记录删除)

(4) 添加数据记录:

sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"

sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)

conn.execute(sql)
'获得刚刚插入数据的id值
set rs=conn.execute("select scope_identity()")
value=rs(0)'取得的当前值

(5) 数据记录统计函数:

AVG(字段名) 得出一个表格栏平均值
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
+++++++++++++++++++++++++++++++++++++++++++++++++++
引用以上函数的方法:
1>记录集调出set rs=conn.execute("select COUNT(*) as count,id from user")
2>分开
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。

1>记录集调出
set rs=conn.execute("select COUNT(*) as count,id from user")
2>执行插入修改删除
sql="delete from 数据表 where 条件表达式"
conn.excute(sql)

+++++++++++++++++++++++++++++++++++++++++++++++++++
(5) 数据表的建立和删除:

CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 数据表名称 (永久性删除一个数据表)

SELECT语句选项

ORDER BY – 按照指定列排序返回结果的子句
DISTINCT – 只返回结果集合内唯一行的关键词
COUNT -- 返回匹配查询的数据行总数数值的函数
AVG – 该函数返回指定列的平均值
SUM –该函数把指定的列中的数字加起来
MIN – 该函数返回列中最小的非NULL值
MAX –该函数返回列中的最大值
GROUP BY – 按列汇集查询函数结果的子句

SELECT * FROM Contacts ORDER BY first_name;
SELECT first_name, last_name FROM Contacts WHERE first_name BETWEEN ‘a’ AND ‘k’ ORDER BY last_name;
SELECT * FROM Contacts ORDER BY company, last_name, first_name;
SELECT * FROM Sales ORDER BY net_amount DESC, last_name, first_name;

SELECT company, first_name, net_amount FROM Sales ORDER BY start_date, last_name;

DISTINCT返回不重复结果
SELECT DISTINCT company FROM Sales;

SELECT DISTINCT company, last_name, first_name FROM Sales;

SELECT DISTINCT company, last_name, first_name FROM Sales WHERE net_amount > 100 ORDER BY company, net_amount;

函数应用逻辑

$keyname = “COUNT(*)”;
$resultkey = “AVG(net_amount)”;

COUNT
COUNT函数计算出结果集合中的数据行数。和其他函数一样它接受一个参数。以下的基本示例能告诉你数据表内的行数:SELECT COUNT(*) FROM Sales;

你也可以用它来计算任何结果集合中的行数。

SELECT COUNT(*) FROM Sales WHERE net_amount > 100;

如果你想看看某特定列有多少行包含非空值,那你不妨对该列使用COUNT函数。注意,除非数据库设置为字段为空时缺省填充NULL否则将返回表内数据行的总数。另外,列出的列在超出一个的情况下会引起错误。

SELECT COUNT(company) FROM Sales;
 
COUNT还可以用来计算DISTINCT结果集合中的行数。
SELECT COUNT(DISTINCT company, last_name) FROM Sales;

COUNT语句通常用在程序中确定FOR循环的循环次数。

AVG
AVG返回某列所有字段的平均值,该列必须是数字数据类型。该函数用列的名字作为其参数,如果列字段数据类型是非数字类型的则函数返回“0”。SELECT AVG(net_amount) FROM Sales;

你可以结合子句限制该函数的应用范围。

SELECT AVG(net_amount) FROM Sales WHERE company LIKE ‘%ABCD Co%’;

就象所有聚集函数一样,ORDER BY语句将被忽略。

SUM

SUM的工作方式和AVG差不多,只不过该函数返回结果集合中所有字段值的和。
SELECT SUM(net_amount) FROM Sales WHERE net_amount > 100;

AVG、SUM、MIN和MAX函数在没有指定列的情况下都会返回错误,所以你不能使用“*”通配符。

MIN
MIN返回指定列中最小的非空值。如果指定列是数字数据类型则结果将是最小的数字。如果它是一种字符串数据类型则函数将返回按字母表顺序出现的第1个值。SELECT MIN(net_amount) FROM Sales WHERE last_name = “Smith”;
SELECT MIN(last_name) FROM Sales;

MAX

MAX的工作方式和MIN函数一样,只不过该函数返回最大的非空值。该函数也可以用于字符串或者数字列
SELECT MAX(net_amount) FROM Sales;
SELECT MAX(company) FROM Sales WHERE net_amount > 100;
MAX函数有时还用在包含自动递增键字段的列上确定下一条目的键ID
GROUP BY 令函数更有用

SELECT company, MAX(net_amount) FROM Sales GROUP BY company;

这样做可以获得每家公司net_amount的的最大值。
下面的例子演示了以上各种方式。首先,包括GROUP BY子句可以令你指定要显示的其他列。然而,你得知道这个例子将返回在组中遇到的第1个last_name值;Sum( net_amount )将显示全部公司的结果而不仅仅针对匹配姓氏的数据行。这是因为,我们只使用了Company字段来定义我们的组。

SELECT company, last_name, SUM(net_amount) FROM Sales GROUP BY company;

在上面的例子中,last_name列实际上并没有提供什么有用的信息,但这样做是为了在下一个例子中要用到的功能做准备。

SELECT company, AVG(net_amount), last_name FROM Sales GROUP BY company, last_name;

上面的例子给每家公司中每一姓氏给出了平均的net_amount。你列出GROUP BY列的顺序控制着结果的排序,但是实际的函数值结果是一样的。

下面的例子表明如何组织结果而不显示分组的列。在有些场合这样做是很有用的,例如,如果要显示个人的销售量但却不显示姓名就能用上下面的例子了:

SELECT company, COUNT(sale_id) FROM Sales GROUP BY company, last_name;

限制使用GROUP BY的查询

SELECT company, AVG(net_amount), FROM Sales WHERE net_amount > 100 GROUP BY company;

上面的例子只对那些满足WHERE限制条件的数据行适用AVG函数。注意,WHERE子句必须放在GROUP BY子句之前。你还可以用HAVING语句对分组计算之后限制返回的结果集合。

SELECT company, AVG(net_amount), FROM Sales WHERE last_name BETWEEN ‘a’ AND ‘m’ GROUP BY company HAVING AVG(net_amount) > 500;

查询多个表
SELECT table1.column1, table2.column2 FROM table1, table2 WHERE table1.column1 = table2.column1;

SELECT table1.column1, table2.column2 FROM table1, table2, table3 WHERE table1.column1 = table2.column1 AND table1.column1 = table3.column1;

SELECT table1.column1, table2.column2 FROM table1 INNER JOIN table2
ON table1.column1 = table2.column1;

SELECT column1 FROM table1 WHERE EXISTS ( SELECT column1 FROM table2 WHERE table1.column1 = table2.column1 );

转载于:https://www.cnblogs.com/51hits/archive/2007/11/22/968716.html

ASP与SQL数据库连接及SQL常用命令使用方法相关推荐

  1. mysql常用命令使用方法

    2019独角兽企业重金招聘Python工程师标准>>> 切版除了是专业的前端外包公司,也对每一个做web前端的人都要要求会PS,懂程序,因为我们深知,只有这样才能把前端外包工作做好. ...

  2. Linux 常用命令使用方法

    Linux 常用命令使用方法 1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的 ...

  3. Linux 常用命令使用方法大搜刮

    Linux 常用命令使用方法大搜刮 1.# 表示权限用户(如:root),$ 表示普通用户   开机提示:Login:输入用户名   password:输入口令   用户是系统注册用户成功登陆后,可以 ...

  4. 第四章 SQL*plus介绍、常用命令

    一   SQL*plus 常用命令 oracle11g  登录sqlplus两种方式 1,scott@orcl 密码: 2,  scott /system@orcl 常用命令: 使用查询.插入.删除. ...

  5. SQL Server 数据库之常用命令

    常用命令 1. DECLARE 定义命令 1.1 语法 1.2 参数 1.3 注释 2 PRINT 输出命令 2.1. 语法 2.2. 参数 2.3. 注释 3. BACKUP 备份数据库 3.1. ...

  6. SQL * PLUS 概述与常用命令

    简介 SQL * PLUS 是用户与oracle进行交互的客户端工具.在SQL*PLUS 中,用户可以执行输入的SQL语句.PL/SQL 语句,以及各种sql *plus命令,还可以格式化SQL,PL ...

  7. Linux下导入SQL文件及MySQL常用命令

    Linux系统下可以直接复制SQL语句进行导入,但是这个方法容易出现导入失败的现象,我们可以直接导入sql文件,可以大大提高成功率. 在导入sql文件前,先说一下MySQL的常用命令. MySQL的登 ...

  8. oracle当查询没有输出返回0,Oracle导入SQL脚本执行和常用命令大全

    在SQL_PLUS里面执行: sql>@full_path/test.sql; 例:sql>@D:/test.sql; 不需要commit; 一般都是在test.sql 里面最后加上一个c ...

  9. oracle脚本太大如何快速导入,(转)Oracle导入SQL脚本执行和常用命令大全

    在工作需要的时候,常常忘记很多命令.今天做的时候才记起! 在SQL_PLUS里面执行: sql>@full_path/test.sql; 例:sql>@D:/test.sql; 不需要co ...

最新文章

  1. 微软45年前预言成真!沈向洋:未来AI beings的数量将超过人口
  2. 人工智能:第四章 计算智能(1)
  3. G_PERIOD_GET
  4. 计算机2级学的是什么时候出来的,2019计算机二级考试科目有哪些 什么时候出成绩...
  5. * 四、要求写一个方法:method。该方法要求传入一个数字n(n要小于10), * 该方法能够计算得到所有各位上的数字不超过n且每一位的数字都不重复的三位数的个数。
  6. spring + hibernate + mysql 事务不回滚
  7. Windows下的函数
  8. 虎牙游戏直播基于php swoole,centos6.8 php7+swoole 实现赛事直播系统
  9. windows linux复制文件夹命令,ubuntu下复制目录和文件的指令以及和windows下的copy方式...
  10. Anaconda中如何查看已经安装的包
  11. 烤仔万花筒| Reach on Conflux 2021黑客松Demo Day
  12. Java 拾遗补阙 ----- 深入了解父类引用指向子类对象
  13. USPS国际快递查询单号
  14. 快速开发工具的两种实现模式
  15. Deepin安装应用
  16. ARC059 E - Children and Candies(dp)
  17. springmvc中拦截器
  18. 情商比智商更能决定人的一生
  19. Github使用秘籍
  20. Java环境搭建及JAVA-jdk环境变量配置

热门文章

  1. Windows下底层数据包发送实战
  2. Data-Mediator入门系列4----常用类说明
  3. MFC通过sql访问excel的方法
  4. 菜鸟学Linux 第026篇笔记 LVM
  5. 蜘蛛侠论坛 2.0 源代码发布
  6. 【Spring开发】—— Spring Core
  7. 在JavaScript中操作Cookie
  8. 简繁互相切换的字库(比较全)
  9. Linux 命令(92)—— locate 命令
  10. 思考题2(人车关系)