ASP --- 数据库基础知识
引入 动态网页开发所用的数据库称为 Web 数据 库或后台数据库。 就是用浏览器作为输入界面,用户在 WEB 界面下达对数据库的操作命令,浏览器将 这些数据发送给 Web 服务器, Web 服务器 再对 Web 数据库数据进行处理,例如修改 数据库中的数据,或者对数据库中的数据 进行查询,最后网站将执行的结果返回浏 览器,通过浏览器显示给用户。
数据库概念 对大量数据(数据集合)进行组织、存储、 管理的系统。。 数据库、表、字段、记录、值。 比较流行的 Web 数据库有 Access 、 SQL Server 、 Oracle 和 FoxPro ,对 ASP 而言最 常用的是 Access 和 SQL Server 。
例如 文本:存储较短字符串,不超过 255 个字符 备注:存储长字符串 数字 自动编号:自动生成唯一编号 是 / 否:布尔值 日期与时间 OLE 对象:以二进制形式存储图片、音视频等信息
Accsee Office 的组成部分,安装 Office 时默认安装 Access 。 Access 配置简单、使用简单、移植方便,但效率 低,对于一般的网站, Access 数据库存储与管理 数据的功能绰绰有余。适合做小型动态网站的 Web 数据库。 SQL Server 属于大型数据库。通常开发大中型 ASP 动态网站时使用 SQL Server 作为 Web 数据库。 Access 数据库中数据转换成 SQL Server 数据库中 数据也很方便,只要利用 SQL Server 的导入功能。 由于存取 Access 和 SQL Server 数据库采用的都是 标准 SQL 语言, ASP 程序几乎不用改写,需要改 写的就是连接数据库的语句。
建立 Access 数据库 要开发数据库程序,首先要规划自己的数 据库,要尽量使数据库设计合理。 主要是规划每一个表的字段和字段类型, 不要有冗余。
SQL 语言 SQL 是结构化查询语言的缩写。 SQL 是专为数据库而建立的操作命令集, 是数据库操作的基本语言,现常用的数据 库均支持 SQL 。
SQL 语句功能 Select 语句查询记录 Insert 语句添加记录 Delete 语句删除记录 Update 语句更新记录 Create Table 语句创建数据表 Alter Table 语句修改数据表 Drop Table 语句删除数据表
Select 语句 实现数据库查询,是最重要的语句 语法为: Select[top 数值 ] 字段 form 数据表 [where 条件 ][order by 字段 ] top 数值:表示只选取多少条记录。例如 Top 5 表 示只选取前 5 条记录。 字段:指明要查询的字段,如果是几个字段,中间 用逗号相隔。 数据表:指明要查询的数据表,如果是几个数据表, 中间用逗号相隔。 条件:查询中要满足的条件。
Select * from users 说明:从表 users 中选取全部记 录。 Select 姓名, 班级, 年龄 from 学生信息 说明:从表 users 选取指定列 name 、 class 、 age 的记录,注意语句中列之间用逗号相隔。 Select * from users where class=" 信息五班 " 说明:根据条件选取记录 Select * from users order by age asc 说明:查询结果排序, asc 表示按升序排,升序是 默认的排序,所以 asc 可省略不写。
Select * from users order by age desc 说明:查询结果排序, desc 表示按降序排。 Select top 10 * from users 说明:只先选取前 10 条记录。 Select name,(test1+test2+test3) as testnum from users 说明:从表中原有的字段产生派生字段, “test1+test2+test3” 将字段 test1 、 test1 、 test1 值 相加产生派生字段 testnum ,注意在这里 test1 、 test1 、 test1 为数字类型的字段,所派生的字段 testnum 并不是表中的真正字段,但派生出来后, 以后就可以用 testnum 来引用。 Select * from users where name like "% 张 %" 说明:模糊查找,从表中查找姓名中含有 “ 张 ” 字 的记录。
下面语句可以选取 2008 年 11 月 1 日之前注册用户 的记录: Select * From 注册用户 Where dtmSubmit<# # 查询所有姓名中有 “ 勇 ” 字的人: Select * From tbAddress Where strName like '% 勇 %' 查询所有姓 “ 李 ” 的用户: Select * From tbAddress Where strName like ' 李 %'
汇总后查询结果 Select 语句中提供 Count 、 Avg 、 Sum 、 Max 和 Min 五个函 数,分别用来求记录总数目、平均值、和、最大值和最小 值。 将查询数据表中的记录总数。 Select Count(*) As Total From tbAddress 查询所有人的平均年龄。 Select Avg(intAge) As Average From tbAddress 查询所有人的年龄之和。 Select Sum(intAge) As Total From tbAddress 下面语句将查询最大的人的年龄。 Select Max(intAge) As MaxAge From tbAddress 下面语句将查询最小的人的年龄。 Select Min(intAge) As MinAge From tbAddress
组合查询 组合查询就是要从多个表中组合所需数据 查询的结果。 示例如下:有两张表:用户信息表 tbUsers 、 用户登录表 tbLog 利用组合查询显示用户的真实姓名、登录 时间和登录 IP Select tbUsers.strName, tbLog.dtmLog, tbLog.strIP From tbUsers, tbLog Where tbUsers.strUserId=tbLog.strUserId
Insert 语句 用于向数据库添加记录 语法 Insert into 数据表 ( 字段 1, 字段 2,…)values( 字 段 1 的值, 字段 2 的值,…) values 中字段值的顺序一定要与前面的字段顺序 相对应。 字段之间,字段值之间用逗号相隔。 如果某字段的类型为字符型或日期型,该字段值 要用引号括起来,单引号双引号都可以。 引号可以嵌套,但内层引号要用单引号或是用两 个双引号来表示一个单引号。 举例如下: Insert into users(name,class,age) values(" 张三 "," 信息五班 ","20")
Delete 语句 用于从数据表中删除记录 语法如下: Delete from 数据表 [where 条件 ] where 条件,可以按条件从表中删除记录。 如果没有 “where 条件 ” ,则表示删除表中所 有记录。 Delete From tbAddress 举例: Delete from users where name=" 张 三 “ Delete From tbAddress Where ID=16
Update 语句 更新数据表中的记录 语法: Update 数据表名 set 字段 1= 字段值 1, 字段 2= 字段值 2,…[where 条件 ] where 条件,可以按条件从表中更新记录。 如果没有 “where 条件 ” ,则表示更新表中所 有记录。 举例: Update users set class=" 信息六班 " where name=" 张三 " 说明:从表中更新张三的 class 字段值。
设置数据源 数据源:利用系统中数据库连接工具 (ODBC ) 连接数据库。 包含数据库位置、文件名、类型等信息。 当应用程序需连接数据库里,可通过数据 源,更安全。
【开始】 / 【设置】 / 【控制面板】 / 【管理工 具】 / 【数据源( ODBC )】选项
【系统 DSN 】 / 【添加】按钮 / “ 创建新数据 源 ” 对话框。
选择 “Microsoft Access Driver (*.mdb)”/ 【完成】 / “ODBC Microsoft Access 安装 ” 对话框。
【数据源名】 / 【选择】按钮 / 选择数据库文 件 / 【确定】按钮。 添加完毕后,可以看到在【 ODBC 数据源管 理器】对话框中出现了该数据源的名称。
ASP 系统所采集的信息可以不存储 在数据库中吗? EXCEL 、记事本都可以存储,甚至你可以 将表单采集的信息发送至您的电子邮箱。 但存储在 Access 或 SQL Server 中是常用的 方式。
Access 数据库作为网站数据库, 有什 么要注意事项 ? Access 数据库文件名不能用中文, 但表名和 字段名可以用中文,建议尽量使用英文。 不要使用 time 、 table 等敏捷单词为表名或 字段名,不然 ASP 系统工作时,可能报错。 字段如果是文本数据类型,只能存储不超 过 255 个字符,超过的字符自动删除,所以 如果此字段需要存储的字符数较多,可以 设置为 “ 备注 ” 数据类型。