SQL基础知识8076.docx





《SQL基础知识8076.docx》由会员分享,可在线阅读,更多相关《SQL基础知识8076.docx(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三部分 操作数据:SQL 本部部分内容 n SQL基础础 n 中级SQL n 高级SQL 第10章 SSQL基础 本章内容 SQL介绍绍 使用SELEECT 语句句从表中取数数据 创建新表 字段属性 向表中添加加数据 删除和修改改表 为了建建立交互站点点,你需要使使用数据库来来存储来自访访问者的信息息。例如,你你要建立一个个职业介绍服服务的站点,你你就需要存储储诸如个人简简历,所感兴兴趣的工作等等等这样的信信息。创建动动态网叶也需需要使用数据据库,如果你你想显示符合合来访者要求求的最好的工工作,你就需需要从数据库库中取出这份份工作的信息息。你将会发发现,在许多多情况下需要要使用数据库库。 在
2、这一一章里,你将将学会怎样使使用“结构化查询询语言”(SQL来操操作数据库。SQL语言是数据库的标准语言。在Active Sever Pages 中,无论何时你要访问一个数据库,你就要使用SQL语言。因此,掌握好SQL对ASP编程是非常重要的。 注意: 你可以以把“SQL”读作“sequeel”,也可以按按单个字母的的读音读作SSQL。 两两种发音都是是正确的,每每种发音各有有大量的支持持者。在本书书里,认为“SQL”读作“sequeel”。 通过这这一章的学习习,你将理解解怎样用SQQL实现数据据库查询,你你将学会怎样样使用这种查查询从数据表表中取出信息息,最后,你你将学会怎样样设计和建立立
3、自己的数据据库。 注意: 通过下下面几章对SSQL的介绍绍,你将对SSQL有足够够的了解,从从而可以有效效地使用Acctive Severr Pagees。但是,SQQL是一种复复杂的语言,本本书不可能包包括它的全部部细节。要全全面掌握SQQL语言,你你需要学习在在Microosoft SQL SSever 中使用SQLL。你可以到到附近的书店店去买一本MMicrossoft SSQL Seever 66.5。SQL介绍: 本书假假设你是在SSQL操作Micrrosoftt SQL Severr 的数据库库。你也可以以用SQL操作许许多其它类型型的数据库。SQL是操作数据库的标准语言。(事实上
4、,关于SQL语言有一个专门的ANSI标准 注意: 不要在在你的站点上上试图用Miicrosooft Acccess代代替Micrrosoftt SQL Severr。SQL SSever可可以同时服务务于许多用户户,如果你希希望你的站点点有较高的访访问率,MSS Acceess是不能能胜任的。 在学习习SQL的细节节之前,你需需要理解它的的两大特点。一一个特点容易易掌握,另一一个掌握起来来有点困难。 第一个个特点是所有有SQL数据库库中的数据都都存储在表中中。一个表由由行和列组成成。例如,下下面这个简单单的表包括nname 和和e-maiil adddress: Namme EEmail Ad
5、dreess . Billl Gattes billlgmiicrosooft.coom preesidennt Cliinton prresideentwhhitehoouse.ccom Steephen Walthher swallther 这个表表有两列(列列也称为字段段,域:NName和Emaill Addrress。有有三行,每一一行包含一组组数据。一行行中的数据组组合在一起称称为一条记录录。 无论何何时你向表中中添加新数据据,你就添加加了一条新记记录。一个数数据表可以有有几十个记录录,也可以有有几千甚至几几十亿个记录录。虽然你也也许永远不需需要存储十亿亿个Emaiil地址,但但知道
6、你能这这样做总是好好的,也许有有一天你会有有这样的需要要。 你的数数据库很有可可能包含几十十个表,所有有存储在你数数据库中的信信息都被存储储在这些表中中。当你考虑虑怎样把信息息存储在数据据库中时,你你应该考虑怎怎样把它们存存储在表中。 SQLL的第二个特特点有些难于于掌握。这种种语言被设计计为不允许你你按照某种特特定的顺序来来取出记录,因因为这样做会会降低SQLL Seveer取记录的的效率。使用用SQL,你只只能按查询条条件来读取记记录。 当考虑虑如何从表中中取出记录时时,自然会想想到按记录的的位置读取它它们。例如,也也许你会尝试试通过一个循循环,逐个记记录地扫描,来来选出特定的的记录。在使
7、使用SQL时,你你必须训练自自己,不要有有这种思路。 假如你你想选出所有有的名字是“Bill Gatess”的记录,如如果使用传统统的编程语言言,你也许会会构造一个循循环,逐个查查看表中的记记录,看名字字域是否是“Bill Gatess”。 这种选选择记录的方方法是可行的的,但是效率率不高。使用用SQL,你你只要说,“选择所有名名字域等于BBill GGates的的记录”,SQL就就会为你选出出所有符合条条件的记录。SSQL会确定定实现查询的的最佳方法。 建设你你想取出表中中的前十个记记录。使用传传统的编程语语言,你可以以做一个循环环,取出前十十个记录后结结束循环。但但使用标准的的SQL查询询
8、,这是不可可能实现的。从从SQL的角角度来说,在在一个表中不不存在前十个个记录这种概概念。 开始时时,当你知道道你不能用SSQL实现某某些你感觉应应该能实现的的功能,你会会受到挫折。你你也许会以头头撞墙甚至想想写恶毒的信信件给SQLL的设计者们们。但后来你你会认识到,SSQL的这个个特点不仅不不是个限制,反反而是其长处处。因为SQQL不根据位位置来读取记记录,它读取取记录可以很很快。 综上所所述,SQLL有两个特点点:所有数据据存储在表中中,从SQLL的角度来说说,表中的记记录没有顺序序。在下一节节,你将学会会怎样用SQQL从表中选选择特殊的记记录。使用SQL从表表中取记录。 SQLL的主要功
9、能能之一是实现现数据库查询询。如果你熟熟悉Inteernet 引擎,那么么你已经熟悉悉查询了。你你使用查询来来取得满足特特定条件的信信息。例如,如如果你想找到到有ASP信信息的全部站站点,你可以以连接到 YYahoo!并执行一个个对Actiive Seever PPages的的搜索。在你你输入这个查查询后,你会会收到一个列列表,表中包包括所有其描描述中包含搜搜索表达式的的站点。 多数IInternnet 引擎擎允许逻辑查查询。在逻辑辑查询中,你你可以包括特特殊的运算符符如AND、OOR和NOTT,你使用这这些运算符来来选择特定的的记录。例如如,你可以用用AND来限限制查询结果果。如果你执执行一
10、个对AActivee Seveer Pagges AAND SSQL的搜索索。你将得到到其描述中同同时包含Acctive Severr Pagees 和SQQL的记录。当当你需要限制制查询结果时时,你可以使使用AND。 如果你你需要扩展查查询的结果,你你可以使用逻逻辑操作符OOR。例如,如如果你执行一一个搜索,搜搜索所有的其其描述中包含含Activve Sevver Paages OR SSQL的站点点,你收到的的列表中将包包括所有其描描述中同时包包含两个表达达式或其中任任何一个表达达式的站点。 如果你你想从搜索结结果中排除特特定的站点,你你可以使用NNOT。例如如,查询“Activve Se
11、vver Paages ”AND NNOT “SQL”将返回一个个列表,列表表中的站点包包含Actiive SSever Pagess,但不包含含SQL。当当必须排除特特定的记录时时,你可以使使用NOT。 用SQQL执行的查查询与用Innterneet搜索引擎擎执行的搜索索非常相似。 当你执行一一个SQL查查询时,通过过使用包括逻逻辑运算符的的查询条件,你你可以得到一一个记录列表表。此时查询询结果是来自自一个或多个个表。 SQLL查询的句法法非常简单。假假设有一个名名为emaiil_tabble 的表表,包含名字字和地址两个个字段,要得得到Billl Gatees 的e_mail地地址,你可以
12、以使用下面的的查询: SELLECT eemail from emaill_tablle WHEERE naame=BBill GGates 当这个个查询执行时时,就从名为为emaill_tablle的表中读读取Billl Gatees的e_mmail 地地址。这个简简单的语句包包括三部分: SELECCT语句的第第一部分指名名要选取的列列。在此例中中,只有emmail列被被选取。当执执行 时,只只显示emaail列的值值 billlgm。 SELECCTT语句的的第二部份指指明要从哪个个(些)表中中查询数据。在在此例中,要要查询的表名名为emaiil_tabble 。 最后,SEELECT语
13、语句的WHEERE子句指指明要选择满满足什么条件件的记录。在在此例中,查查询条件为只只有namee列的值为BBill GGates 的记录才被被选取。 Billl Gattes很有可可能拥有不止止一个emaail地址。如如果表中包含含Bill Gatess的多个emmail地址址。用上述的的SELECCT语句可以以读取他所有有的emaiil地址。SSELECTT语句从表中中取出所有nname字段段值为Billl Gattes 的记记录的emaail 字段段的值。 前面说说过,查询可可以在查询条条件中包含逻逻辑运算符。假假如你想读取取Bill Gatess 或Cliinton总总统的所有eema
14、il地地址,你可以以使用下面的的查询语句: SELLECT emaill FROOM emmail_ttable WHERRE naame=BBill GGates OR nname=presiident Clinnton 此例中中的查询条件件比前一个复复杂了一点。这这个语句从表表emaill_tablle中选出所所有namee列为Billl Gattes或prresideent Cllintonn的记录。如如果表中含有有Bill Gatess或pressidentt Clinnton的多多个地址,所所有的地址都都被读取。 SELLECT语句句的结构看起起来很直观。如如果你请一个个朋友从一个个
15、表中为你选选择一组记录录,你也许以以非常相似的的方式提出你你的要求。在在SQL SSELECTT语句中,你你“SELECCT特定的列列FROM一一个表WHEERE某些列列满足一个特特定的条件”。 下一节节将介绍怎样样执行SQLL查询来选取取记录。这将将帮助你熟悉悉用SELEECT语句从从表中取数据据的各种不同同方法。使用ISQL执执行SELEECT查询 当你安安装SQL Severr时,你同时时安装了一个个叫作ISQQL/w的应应用程序。IISQL/ww允许你执行行交互的SQQL查询。在在把查询包括括到你的ASSP网页中之之前,用ISSQL/w对对其进行测试试是非常有用用的。 注意: 在这本本
16、书的第一部部份,你学习习了怎样安装装和配置Miicrosooft SQQL Sevver 。如如果没有安装装SQL SSever或或者SQL Severr不能运行,请请参阅第三章章“安装和使用用SQL SSever”。 选择任任务上SQLL Seveer程序组中中的ISQLL_w以启动动该程序。程程序启动时,首首先会出现一一个对话框,要要求输入服务务器信息和登登录信息(见见图10.11)。在Seever框中中,输入你的的SQL服务务器的名字。如如果服务器正正运行在本地地计算机上,服服务器名字就就是你计算机机的名字。在在登录信息框框中,输入一一个登录帐号号和密码或选选择使用“可信连接”,然后单击
17、击Conneect按钮。 图图10。1 注意: 如果你你将SQL Severr配置为使用用完整安全或或混合安全,那那么你可以使使用可信连接接。如果你使使用标准安全全,你则需要要提供用户帐帐号和密码。要要了解更多信信息,参见第第三章。 如果一一切正常,在在你单击连接接按钮后会出出现一个查询询窗口,如图图10.2所示。(如如果有异常,请请参考第三章章) 图10.2 在执行行查询之前,你你需要选择数数据库。安装装 SQL Severr时你已为自自己创建了一一个数据库,SSQL Seever还有有许多系统数数据库,如mmasterr,modeel,msddb,和teempdb。 方便的的是,SQLL
18、Seveer带有一个个特殊的名为为pubs的例例子数据库。库库 pubss中包含供一一个虚拟的出出版商使用的的各个表。文文档中所有的的例子程序都都是针对这个个库来设计的的。本书中的的许多例子也也使用这个数数据库。 在查询询窗口顶部的的DB下拉框框中选择数据据库pubss,这样你就就选择了数据据库。你所有有的查询都将将针对这个库库中的各个表表来执行。现现在你可以执执行你的第一一个查询了。这这真让人兴奋奋! 你的第第一个查询将将针对一个名名为autrrors的表表,表中包含含所有为某个个虚拟出版商商工作的作者者的相关数据据。单击查询询窗口并输入入以下的语句句: SELLECT phonee FRO
19、OM autthors WHEREE au_nname=Ringeer 输入完完成后,单击击执行查询按按钮(一个绿绿色三角形,看看起来像VCCR播放键)。单单击此按钮后后,任何出现现在查询窗口口中的语句均均会被执行。查查询窗口会自自动变成结果果显示窗口,你你可以看到查查询的结果(见见图10.33)。 你看到到的查询结果果也许与图110.3所示示的不同。在在SQL SSever的的不同版本中中,库pubbs中的数据据会有所不同同。对SQLL Seveer 6.55来说,将会会找到两条记记录。结果显显示窗口中应应显示如下内内容: phoone.801 8266_07522801 8266_0752
20、2 (2 row(ss) afffecteed) 图10.33 你所执执行的SELLECT语句句从表autthors中中取出所有名名字为Rinnger的作作者的电话号号码。你通过过在WHERRE子句中使使用特殊的选选择条件来限限制查询的结结果。你也可可以忽略选择择条件,从表表中取出所有有作者的电话话号码。要做做到这一点,单单击Querry标签,返返回到查询窗窗口,输入以以下的SELLECT语句句:SELECT Phonee FROOM autthors 这个查查询执行后,会会取出表auuthorss中的所有电电话号码(没没有特定的顺顺序)。如果果表authhors中包包含一百个电电话号码,会会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 基础知识 8076

限制150内