《第7章数据库基础知识讲解》由会员分享,可在线阅读,更多相关《第7章数据库基础知识讲解(37页珍藏版)》请在金锄头文库上搜索。
1、第7章数据库基础知识,本章内容简介,7.1 数据库的基本概念,7.1.1 数据管理技术的发展阶段 7.1.2 数据库的基本术语 7.1.3 数据库管理系统,7.1.1 数据管理技术的发展阶段,人工管理 文件管理 数据库管理 在该阶段,用户把数据集中存放在一个或多个数据库中,然后通过数据库管理系统来使用数据库中的数据。 这是目前最为流行的数据管理方式。,7.1.2 数据库的基本术语,字段、记录、值、表、数据库,7.1.3 数据库管理系统,大中型关系型数据库管理系统有SQL Server、IBM DB2、Oracle、SyBase、Informix等,常用的小型数据库管理系统有Access、Pra
2、dox、Foxpro等。 在ASP中一般使用SQL Server或Access数据库。 本书主要使用Access。,7.2 建立Access数据库,7.2.1 规划自己的数据库 7.2.2 新建数据库 7.2.3 新建和维护表 7.2.4 新建和维护查询,7.2.1 规划自己的数据库,要开发数据库程序,首先要规划自己的数据库,要尽量使数据库设计合理。 主要是规划每一个表的字段和字段类型,不要有冗余。,7.2.2 新建数据库,依次选择菜单命令【开始】【所有程序】【Microsoft Office】【Microsoft Office Access 2003】就可以启动Access 2003 ,然后
3、在出现的主窗口中依次选择【文件】【新建】菜单命令,或者单击【新建】按钮,新建数据库,7.2.3 新建和维护表,(1)新建表 在上图双击【使用设计器创建表】选项,就可以打开新建表的设计视图。,主键,新建和维护表(2),(2)保存表 正确输入所有字段以后,单击Access主窗口中的【保存】按钮 即可。,新建和维护表(3),(3)在表中输入数据 在主窗口中双击表名,就可以打开输入窗口 ,然后就可以在其中和普通表格一样输入数据。,新建和维护表(4),(4)修改数据表的设计 单击【设计】按钮,就可以重新打开设计视图,然后就可以继续删除或添加字段,也可以修改数据类型或格式。,7.2.4 新建和维护查询,查
4、询好比是一张虚拟的表,可以根据需要显示出表中的部分字段或部分记录。 利用查询可以更方便地更改、分析、处理数据。 其实查询不仅可以用来显示数据,还可以用来插入、删除、更新记录。 查询有4种:简单查询、组合查询、计算查询和条件查询。,新建简单查询,步骤如下: 在Access主窗口左侧选择【查询】按钮,然后双击【在设计视图中创建查询】选项,显示查询内容,成功新建一个查询后,就可以双击查询的名称,打开查询结果了。,利用SQL语言建立查询,在建立查询时, 也可以利用写SQL语言的方式直接建立。 当选择“在设计试图中创建查询”后,不必自己添加表,直接单击【关闭】按钮,然后在主窗口中依次选择【视图】【SQL
5、视图】菜单命令, 此时在打开的SQL视图对话框中,输入查询语句运行即可。,7.3 SQL语言简介,7.3.1 Select语句 7.3.2 Insert语句 7.3.3 Delete语句 7.3.4 Update语句,7.3.1 Select语句,Select语句主要功能是实现数据库查询,即可以从数据库中查询出符合特定条件的记录(行)或字段(列)。 语法如下: Select Top 数值 字段列表 From 表 Where 条件 Order By 字段 Group By 字段,(1)简单查询,所谓简单查询,指的是不需要使用任何条件,只是简单选取若干字段若干记录。 示例如下: 下面语句可以选取数
6、据表中全部数据 Select * From tbAddress 下面语句可以选取数据表中的前10条记录 Select Top 10 * From tbAddress 下面语句可以选取指定字段的数据,不过要注意每个字段之间用逗号隔开。 Select strName,strEmail From tbAddress 还可以对若干个字段进行加减乘除等适当的运算后再显示,如下面的语句将产生一个新的字段NewAge,它表示用户10年后的年龄。 Select strName,(intAge+10) As NewAge From tbAddress,(2)条件查询,利用Where 条件子句可以根据条件选取数据
7、。 利用比较和逻辑运算符来构造Where 条件子句。 实力如下: 下面语句可以选取2008年11月1日之前注册用户的记录: Select * From tbAddress Where dtmSubmit2008-11-1 比如,下面语句可以查询所有姓名中有“勇”字的人: Select * From tbAddress Where strName like %勇% 下面语句查询所有姓“李”的用户: Select * From tbAddress Where strName like 李%,(3)排序查询,利用Order By字句可以将查询结果按某种顺序显示来。 如果要按多个字段排序,中间用逗号隔
8、开。排序时,首先参考第一字段的值,当第一字段的值相同时,再参考第二字段的值,依此类推。 示例如下: 下面的语句将查询结果按姓名升序排列: Select * From tbAddress Order By strName ASC 如果要降序排列,则为: Select * From tbAddress Order By strName DESC 多字段排序 Select * From tbAddress Order By strName ASC,dtmSubmit DESC,(4)汇总查询,许多时候需要将全部或多条记录进行汇总 后查询结果。 Select语句中提供Count、Avg、Sum、Max
9、和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 下面语句将查询最小的人的年龄。 S
10、elect Min(intAge) As MinAge From tbAddress,(5)组合查询,组合查询就是要从多个表中组合所需数据查询的结果。 示例如下: 有两张表:用户信息表tbUsers 、用户登录表tbLog 下面就利用组合查询显示用户的真实姓名、登录时间和登录IP Select tbUsers.strName, tbLog.dtmLog, tbLog.strIP From tbUsers, tbLog Where tbUsers.strUserId=tbLog.strUserId,(6)其他查询,使用Distinct关键字可以去掉重复的记录。 如: Select Distinc
11、t * From tbAddress 许多时候都可以使用As关键字指定别名,将来只要引用该别名就可以了。 如: Select strName As 姓名, intAge As 年龄 From tbAddress 在组合查询时也可以使用别名,以便简化书写。 如: Select a.strName,b.dtmLog,b.strIP From tbAddress As a, tbLog As b Where a.strUserId=b.strUserId,7.3.2 Insert语句,在ASP程序中,经常需要向数据库中添加数据,例如向用户表tbUesrs中添加新成员的记录。使用Insert语句就可以
12、实现该功能。 语法如下: Insert Into 表(字段1,字段2,) Values(字段1的值,字段2的值,),Insert语句示例,(1)只添加strName字段 Insert Into tbAddress (strName ) Values(萌萌) (2)只添加strName和dtmSubmit字段 Insert Into tbAddress (strName, dtmSubmit ) Values( 萌萌,2008-11-2) (3)只添加strName和intAge字段: Insert Into tbAddress (strName, intAge) Values(萌萌 ,16)
13、(4)在tbAddress表中增加一条完整的记录 Insert Into tbAddress(strName,strSex,intAge,strTel,strEmail,strIn tro,dtmSubmit) Values(萌萌,女 ,21,6112211,mm,金融系同学, 2008-8-8),7.3.3 Delete语句,在SQL语言中,可以使用Delete语句来删除表中无用的记录。语法如下: Delete From表 Where 条件 Delete语句示例: (1)删除自动编号字段ID等于1的用户。 Delete From tbAddress Where ID=1 (2)删除strNa
14、me为“萌萌“的用户。 Delete From tbAddress Where strName=萌萌 (3)删除2008年10月1日前注册,且strName为“萌萌“的用户。 Delete From tbAddress Where dtmSubmit2008-1-1 And strName=萌萌 (4)删除表中所有数据。 Delete From tbAddress,7.3.4 Update语句,可以使用Update语句来实现更新数据的功能,语法如下: Update 数据表名 Set 字段1字段值1,字段2字段值2, Where 条件 Update语句示例 : (1)更新自动编号ID字段为2的用
15、户的电话 Update tbAddress Set strTel=8282999 Where ID=2 (2)更新strName为“萌萌“的用户的电话和年龄 Update tbAddress Set intAge=22,dtmSubmit=2008-9-8 Where strName =萌萌 (3)将所有2008年1月1日前注册的用户的注册日期更新为2008年1月1日 Update tbAddress Set dtmSubmit=2008-1-1 Where dtmSubmit2008-1-1,7.4 设置数据源,什么是数据源 所谓数据源,就是数据源开放数据库连接(ODBC ),利用它就可以访
16、问来自多种数据库管理系统的数据。 比如,如果你有一个访问Access 数据库的程序,数据源 (ODBC) 会允许您用同一个程序访问SQL数据库中的数据。至于具体访问细节你就不用关心,由ODBC来完成。 下面以Windows XP为例,为数据库address.mdb中设置数据源。,设置数据源步骤1,依次选择【开始】、【设置】、【控制面板】、【管理工具】、【数据源(ODBC)】选项。,设置数据源步骤2,选择【系统DSN】,然后单击【添加】按钮 ,出现 “创建新数据源”对话框。,设置数据源步骤3,选择“Microsoft Access Driver (*.mdb)”,然后单击【完成】按钮,将出现 “ODBC Microsoft Access 安装”对话框。,设置数据源步骤4,在上图中输入【数据源名】为“addr”和【说明】为“通讯录数据库”,并单击【选择】按钮,选择“C:inetpubwwwrootasptempchapter7address.m