数据库基础知识(精品).ppt
第第8课课 数据库基础知识数据库基础知识本章内容简介本章内容简介建立建立Access数据库数据库 2SQL语言简介语言简介 3设置数据源设置数据源 4小结小结5数据库的基本概念数据库的基本概念 11 数据库的基本概念数据库的基本概念1.1 数据管理技术的发展阶段数据管理技术的发展阶段1.2 数据库的基本术语数据库的基本术语1.3 数据库管理系统数据库管理系统1.1 数据管理技术的发展阶段数据管理技术的发展阶段人工管理人工管理文件管理文件管理数据库管理数据库管理 在该阶段,用户把数据集中存放在一个或多个在该阶段,用户把数据集中存放在一个或多个数据库中,然后通过数据库管理系统来使用数数据库中,然后通过数据库管理系统来使用数据库中的数据。据库中的数据。这是目前最为流行的数据管理方式。这是目前最为流行的数据管理方式。1.2 数据库的基本术语数据库的基本术语字段、记录、值、表、数据库、数据模型字段、记录、值、表、数据库、数据模型 1.3 数据库管理系统数据库管理系统大中型关系型数据库管理系统有大中型关系型数据库管理系统有SQL Server、IBM DB2、Oracle、SyBase、Informix等,常用等,常用的小型数据库管理系统有的小型数据库管理系统有Access、Pradox、Foxpro等。等。在在ASP中一般使用中一般使用SQL Server或或Access数据库。数据库。本课主要使用本课主要使用Access。2 建立建立Access数据库数据库2.1 规划自己的数据库规划自己的数据库2.2 新建数据库新建数据库2.3 新建和维护表新建和维护表2.4 新建和维护查询新建和维护查询2.1 规划自己的数据库规划自己的数据库要开发数据库程序,首先要规划自己的数据库,要开发数据库程序,首先要规划自己的数据库,要尽量使数据库设计合理。要尽量使数据库设计合理。主要是规划每一个表的字段和字段类型,不要有主要是规划每一个表的字段和字段类型,不要有冗余。冗余。2.2 新建数据库新建数据库依次选择菜单命令【开始】【所有程序】【Microsoft Office】【Microsoft Office Access 2003】就可以启动Access 2003,然后在出现的主窗口中依次选择【文件】【新建】菜单命令,或者单击【新建】按钮 空数据库空数据库新建数据库新建数据库2.3 新建和维护表新建和维护表(1)新建表)新建表在上图双击【使用设计器创建表】选项,就可以打开新建表的设计视图。主键新建和维护表(新建和维护表(2)(2)保存表)保存表正确输入所有字段以后,单击正确输入所有字段以后,单击Access主窗口中的主窗口中的【保存保存】按钮按钮 即可。新建和维护表(新建和维护表(3)(3)在表中输入数据)在表中输入数据在主窗口中双击表名,就可以打开输入窗口在主窗口中双击表名,就可以打开输入窗口,然后就,然后就可以在其中和普通表格一样输入数据。可以在其中和普通表格一样输入数据。新建和维护表(新建和维护表(4)(4)修改数据表的设计)修改数据表的设计单击单击【设计设计】按钮,就可以重新打开设计视图,然后按钮,就可以重新打开设计视图,然后就可以继续删除或添加字段,也可以修改数据类型或就可以继续删除或添加字段,也可以修改数据类型或格式。格式。2.4 新建和维护查询新建和维护查询 查询好比是一张虚拟的表,可以根据需要显示出查询好比是一张虚拟的表,可以根据需要显示出表中的部分字段或部分记录。表中的部分字段或部分记录。利用查询可以更方便地更改、分析、处理数据。利用查询可以更方便地更改、分析、处理数据。其实查询不仅可以用来显示数据,还可以用来插其实查询不仅可以用来显示数据,还可以用来插入、删除、更新记录。入、删除、更新记录。查询有查询有4种:简单查询、组合查询、计算查询和条种:简单查询、组合查询、计算查询和条件查询。件查询。新建简单查询新建简单查询步骤如下:步骤如下:在在Access主窗口左侧选择主窗口左侧选择【查询查询】按钮按钮 然后双击然后双击【在设计视图中在设计视图中创建查询创建查询】选项选项 显示查询内容显示查询内容成功新建一个查询后,就可以双击查询的名称,成功新建一个查询后,就可以双击查询的名称,打开查询结果了。打开查询结果了。利用利用SQL语言建立查询语言建立查询在建立查询时,在建立查询时,也可以利用写也可以利用写SQL语言的方式直语言的方式直接建立。接建立。当选择当选择“在设计试图中创建查询在设计试图中创建查询”后,不必自己后,不必自己添加表,直接单击添加表,直接单击【关闭关闭】按钮,然后在主窗口按钮,然后在主窗口中依次选择中依次选择【视图视图】【SQL视图视图】菜单命令,菜单命令,此时在打开的此时在打开的SQL视图对话框中,输入查询语句视图对话框中,输入查询语句运行即可。运行即可。3 SQL语言简介语言简介3.1 Select语句语句3.2 Insert语句语句3.3 Delete语句语句3.4 Update语句语句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 下面就利用组合查询显示用户的真实姓名、登录时间下面就利用组合查询显示用户的真实姓名、登录时间和登录和登录IPSelect 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.strUserId3.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,金融系同学金融系同学,2008-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 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-17.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。5 小结小结数据库编程是最为重要和最为常用的部分。数据库编程是最为重要和最为常用的部分。ASP数据库编程的重点和难点实际上都是数据库编程的重点和难点实际上都是SQL语语句。句。重点掌握重点掌握SQL语句中增、删、改、查的语句。语句中增、删、改、查的语句。