资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第八讲数据库基础,吴永明,第八讲数据库基础,内容提示,建立,Access,数据库,8.2,SQL,语言简介,8.3,设置数据源,8.4,数据库的基本概念,8.1,8.1,数据库的基本概念,8.1.1,数据管理技术的发展阶段,8.1.2,数据库的基本术语,8.1.3,数据库管理系统,8.1.1,数据管理技术的发展阶段,人工管理,文件管理,数据库管理,在该阶段,用户把数据集中存放在一个或多个数据库中,然后通过数据库管理系统来使用数据库中的数据。,这是目前最为流行的数据管理方式。,8.1.2,数据库的基本术语,字段、记录、值、表、数据库、数据模型,8.1.3,数据库管理系统,大中型关系型数据库管理系统有,SQL Server,、,IBM DB2,、,Oracle,、,SyBase,、,Informix,等,常用的小型数据库管理系统有,Access,、,Pradox,、,Foxpro,等。,在,ASP,中一般使用,SQL Server,或,Access,数据库。,本书主要使用,Access,。,8.2,建立,Access,数据库,8.2.1,规划自己的数据库,8.2.2,新建数据库,8.2.3,新建和维护表,8.2.4,新建和维护查询,8.2.1,规划自己的数据库,要开发数据库程序,首先要规划自己的数据库,要尽量使数据库设计合理。,主要是规划每一个表的字段和字段类型,不要有冗余。,8.2.2,新建数据库,依次选择菜单命令,【,开始,】【,所有程序,】【Microsoft Office】【Microsoft Office Access 2003】,就可以启动,Access 2003,,然后在出现的主窗口中依次选择,【,文件,】【,新建,】,菜单命令,或者单击,【,新建,】,按钮,空数据库,新建数据库,8.2.3,新建和维护表,(,1,)新建表,在上图双击,【,使用设计器创建表,】,选项,就可以打开新建表的设计视图。,主键,新建和维护表(,2,),(,2,)保存表,正确输入所有字段以后,单击,Access,主窗口中的,【,保存,】,按钮,即可。,新建和维护表(,3,),(,3,)在表中输入数据,在主窗口中双击表名,就可以打开输入窗口,然后就可以在其中和普通表格一样输入数据。,新建和维护表(,4,),(,4,)修改数据表的设计,单击,【,设计,】,按钮,就可以重新打开设计视图,然后就可以继续删除或添加字段,也可以修改数据类型或格式。,8.2.4,新建和维护查询,查询好比是一张虚拟的表,可以根据需要显示出表中的部分字段或部分记录。,利用查询可以更方便地更改、分析、处理数据。,其实查询不仅可以用来显示数据,还可以用来插入、删除、更新记录。,查询有,4,种:简单查询、组合查询、计算查询和条件查询。,新建简单查询,步骤如下:,在,Access,主窗口左侧选择,【,查询,】,按钮,然后双击,【,在设计视图中创建查询,】,选项,显示查询内容,成功新建一个查询后,就可以双击查询的名称,打开查询结果了。,利用,SQL,语言建立查询,在建立查询时,也可以利用写,SQL,语言的方式直接建立。,当选择,“,在设计试图中创建查询,”,后,不必自己添加表,直接单击,【,关闭,】,按钮,然后在主窗口中依次选择,【,视图,】【SQL,视图,】,菜单命令,此时在打开的,SQL,视图对话框中,输入查询语句运行即可。,8.3 SQL,语言简介,8.3.1 Select,语句,8.3.2 Insert,语句,8.3.3 Delete,语句,8.3.4 Update,语句,8.3.1 Select,语句,Select,语句主要功能是实现数据库查询,即可以从数据库中查询出符合特定条件的记录(行)或字段(列)。,语法如下:,Select Top,数值,字段列表,From,表,Where,条件,Order By,字段,Group By,字段,(,1,)简单查询,所谓简单查询,指的是不需要使用任何条件,只是简单选取若干字段若干记录。,示例如下:,下面语句可以选取数据表中全部数据,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,条件子句可以根据条件选取数据。,利用比较和逻辑运算符来构造,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,字句可以将查询结果按某种顺序显示来。,如果要按多个字段排序,中间用逗号隔开。排序时,首先参考第一字段的值,当第一字段的值相同时,再参考第二字段的值,依此类推。,示例如下:,下面的语句将查询结果按姓名升序排列:,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,和,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,(,5,)组合查询,组合查询就是要从多个表中组合所需数据查询的结果。,示例如下:,有两张表:用户信息表,tbUsers,、用户登录表,tbLog,下面就利用组合查询显示用户的真实姓名、登录时间和登录,IP,Select tbUsers.strName,tbLog.dtmLog,tbLog.strIP From tbUsers,tbLog Where,tbUsers.strUserId=tbLog.strUserId,(,6,)其他查询,使用,Distinct,关键字可以去掉重复的记录。,如:,Select Distinct*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,8.3.2 Insert,语句,在,ASP,程序中,经常需要向数据库中添加数据,例如向用户表,tbUesrs,中添加新成员的记录。使用,Insert,语句就可以实现该功能。,语法如下:,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),(,4,)在,tbAddress,表中增加一条完整的记录,Insert Into tbAddress(strName,strSex,intAge,strTel,strEmail,strIntro,dtmSubmit)Values(,萌萌,女,21,6112211,mm,金融系同学,2008-8-8),8.3.3 Delete,语句,在,SQL,语言中,可以使用,Delete,语句来删除表中无用的记录。语法如下:,Delete From,表,Where,条件,Delete,语句示例:,(,1,)删除自动编号字段,ID,等于,1,的用户。,Delete From tbAddress Where ID=1,(,2,)删除,strName,为,萌萌,的用户。,Delete From tbAddress Where strName=,萌萌,(,3,)删除,2008,年,10,月,1,日前注册,且,strName,为,萌萌,的用户。,Delete From tbAddress Where dtmSubmit2008-1-1 And strName=,萌萌,(,4,)删除表中所有数据。,Delete From tbAddress,8.3.4 Update,语句,可以使用,Update,语句来实现更新数据的功能,语法如下:,Update,数据表名,Set,字段,1,字段值,1,,字段,2,字段值,2,,,Where,条件,Update,语句示例,:,(,1,)更新自动编号,ID,字段为,2,的用户的电话,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,8.4,设置数据源,什么是数据源,所谓数据源,就是数据源开放数据库连接,(ODBC),,利用它就可以访问来自多种数据库管理系统的数据。比如,如果你有一个访问,Access,数据库的程序,数据源,(ODBC),会允许您用同一个程序访问,SQL,数据库中的数据。至于具体访问细节你就不用关心,由,ODBC,来完成。,下面以,Windows XP,为例,为数据库,address.mdb,中设置数据源。,设置数据源步骤,1,依次选择,【,开始,】,、,【,设置,】,、,【,控制面板,】,、,【,管理工具,】,、,【,数据源(,ODBC,),】,选项。,设置数据源步骤,2,选择,【,系统,DSN】,,然后单击,【,添加,】,按钮,出现,“,创建新数据源,”,对话框。,设置数据源步骤,3,选择“,Microsoft Access Driver(*.,mdb,)”,,然后单击,【,完成,】,按钮,将出现“,ODBC Microsoft Access,安装”对话框。,设置数据源步骤,4,在上图中输入,【,数据源名,】,为,“,addr,”,和,【,说明,】,为,“,通讯录数据库,”,,并单击,【,选择,】,按钮,选择,“,C:inetpubwwwrootasptempchapter7address.mdb,”,,然后单击,【,确定,】,按钮即可。,添加完毕后,可以看到在,【ODBC,数据源管理器,】,对话框中(就出现了该数据源的名称,addr,。,
展开阅读全文