SQL数据操作基础(初级) 2
2008-02-23 05:36:48来源:互联网 阅读 ()
当你安装SQL Sever时,你同时安装了一个叫作ISQL/w的应用程序。ISQL/w允许你执行交互的SQL查询。在把查询包括到你的ASP网
页中之前,用ISQL/w对其进行测试是非常有用的。
注意:
在这本书的第一部份,你学习了怎样安装和配置Microsoft SQL Sever 。如果没有安装SQL Sever或者SQL Sever不能运行,请参
阅第三章“安装和使用SQL Sever”。
选择任务上SQL Sever程序组中的ISQL_w以启动该程序。程序启动时,首先会出现一个对话框,要求输入服务器信息和登录信息
(见图10.1)。在Sever框中,输入你的SQL服务器的名字。如果服务器正运行在本地计算机上,服务器名字就是你计算机的名字。
在登录信息框中,输入一个登录帐号和密码或选择使用“可信连接”,然后单击Connect按钮。
图10。1
注意:
如果你将SQL Sever配置为使用完整安全或混合安全,那么你可以使用可信连接。如果你使用标准安全,你则需要提供用户帐号和
密码。要了解更多信息,参见第三章。
如果一切正常,在你单击连接按钮后会出现一个查询窗口,如图10.2所示。(如果有异常,请参考第三章)
图10.2
在执行查询之前,你需要选择数据库。安装 SQL Sever时你已为自己创建了一个数据库,SQL Sever还有许多系统数据库,如
master,model,msdb,和tempdb。
方便的是,SQL Sever带有一个特殊的名为pubs的例子数据库。库 pubs中包含供一个虚拟的出版商使用的各个表。文档中所有的
例子程序都是针对这个库来设计的。本书中的许多例子也使用这个数据库。
在查询窗口顶部的DB下拉框中选择数据库pubs,这样你就选择了数据库。你所有的查询都将针对这个库中的各个表来执行。现在你
可以执行你的第一个查询了。这真让人兴奋!
你的第一个查询将针对一个名为autrors的表,表中包含所有为某个虚拟出版商工作的作者的相关数据。单击查询窗口并输入以下
的语句:
SELECT phone FROM authors WHERE au_name="Ringer"
输入完成后,单击执行查询按钮(一个绿色三角形,看起来像VCR播放键)。单击此按钮后,任何出现在查询窗口中的语句均会被执
行。查询窗口会自动变成结果显示窗口,你可以看到查询的结果(见图10.3)。
你看到的查询结果也许与图10.3所示的不同。在SQL Sever的不同版本中,库pubs中的数据会有所不同。对SQL Sever 6.5来说,
将会找到两条记录。结果显示窗口中应显示如下内容:
phone
……………….
801 826_0752
801 826_0752
(2 row(s) affected)
图10.3
你所执行的SELECT语句从表authors中取出所有名字为Ringer的作者的电话号码。你通过在WHERE子句中使用特殊的选择条件来限
制查询的结果。你也可以忽略选择条件,从表中取出所有作者的电话号码。要做到这一点,单击Query标签,返回到查询窗口,输
入以下的SELECT语句:
SELECT Phone FROM authors
这个查询执行后,会取出表authors中的所有电话号码(没有特定的顺序)。如果表authors中包含一百个电话号码,会有一百个记
录被取出,如果表中有十亿个电话号码,这十亿条记录都会被取出(这也许需要一些时间)。
表authrs的字段包括姓,名字,电话号码,地址,城市,州和邮政编码。通过在SELECT语句的第一部份指定它们,你可以从表中取
出任何一个字段。你可以在一个SELECT语句中一次取出多个字段,比如:
SELECT au_fname ,au_lname, phone FROM authors
这个SELECT语句执行后,将取出这三个列的所有值。下面是这个查询的结果的一个示例(为了节省纸张,只显示查询结果的一部
分,其余记录用省略号代替):
au_fname au_lname phone
………………………………………………………………………….
Johnson White 408 496_7223
Marjorie Green 415 986_7020
Cheryl Carson 415 548_7723
Michael O’Leary 408 286_2428
…
(23 row(s) affected)
在SELECT语句中,你需要列出多少个字段,你就可以列出多少。不要忘了把字段名用逗号隔开。你也可以用星号(*)从一个表中
取出所有的字段。这里有一个使用星号的例子:
SELECT * FROM authors
这个SELECT语句执行后,表中的所有字段的值都被取出。你会发现你将在SQL查询中频繁使用星号。
技巧:
你可以使用星号来查看一个表的所有列的名字。要做到这一点,只需要在执行完SELECT语句后看一下查询结果的列标题。
操作多个表
到现在为止,你只尝试了用一句SQL查询从一个表中取出数据。你也可以用一个SELECT语句同时从多个表中取出数据,只需在
SELECT语句的FROM从句中列出要从中取出数据的表名称即可:
SELECT au_lname ,title FROM authors, titles
这个SELECT语句执行时,同时从表authors和表titles中取出数据。从表authors中取出所有的作者名字,从表titles中取出所有
的书名。在ISQL/w程序中执行这个查询,看一下查询结果。你会发现一些奇怪的出乎意料的情况:作者的名字并没有和它们所著的
书相匹配,而是出现了作者名字和书名的所有可能的组合,这也许不是你所希望见到的。
出了什么差错?问题在于你没有指明这两个表之间的关系。你没有通过任何方式告诉SQL如何把表和表关联在一起。由于不知道如何
关联两个表,服务器只能简单地返回取自两个表中的记录的所有可能组合。
要从两个表中选出有意义的记录组合,你需要通过建立两表中字段的关系来关联两个表。要做到这一点的途径之一是创建第三个
表,专门用来描述另外两个表的字段之间的关系。
表authors有一个名为au_id的字段,包含有每个作者的唯一标识。表titles有一个名为title_id的字段,包含每个书名的唯一标
识。如果你能在字段au_id和字段title_id 之间建立一个关系,你就可以关联这两个表。数据库pubs中有一个名为titleauthor的
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:SQL数据操作基础(初级) 1
下一篇:SQL数据操作基础(初级) 3
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash