⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 439.html

📁 关于jsp的一些好文章 主要介绍一些关于JSP的应用技巧方面的东西
💻 HTML
字号:

<STYLE type=text/css>
<!--
body,td { font-size:9pt;}
hr { color: #000000; height: 1px}
-->
</STYLE>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD><TITLE>精选文章 >> SQL之家 >> SQL数据操作基础(初级) 2</title>
</head>
<body >

<p><IMG SRC="../image/jsp001_middle_logo.gif" WIDTH="180" HEIGHT="60" BORDER=0 ALT=""></p>

<table width=100% bgcolor="#cccccc" align=center cellpadding="2" cellspacing="0" border=1 bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr bgcolor="#EFF8FF"><td>
<a href=http://www.jsp001.com/list_thread.php?int_attribute=2>精选文章</a>
>> <a href=http://www.jsp001.com/list_thread.php?forumid=45&int_attribute=2>SQL之家</a>
>> SQL数据操作基础(初级) 2 [<a href=http://www.jsp001.com/forum/showthread.php?goto=newpost&threadid=439>查看别人的评论</a>]<br>

<hr><p>由 amtd 发布于: 2001-02-14 09:29</p><p><img src="images/icons/icon1.gif" alt="Post" border=0> </p><p><br><br>使用ISQL执行SELECT查询<br><br>当你安装SQL Sever时,你同时安装了一个叫作ISQL/w的应用程序。ISQL/w允许你执行交互的SQL查询。在把查询包括到你的ASP网<br>页中之前,用ISQL/w对其进行测试是非常有用的。<br><br>注意:<br><br>在这本书的第一部份,你学习了怎样安装和配置Microsoft SQL Sever 。如果没有安装SQL Sever或者SQL Sever不能运行,请参<br>阅第三章“安装和使用SQL Sever”。<br><br>选择任务上SQL Sever程序组中的ISQL_w以启动该程序。程序启动时,首先会出现一个对话框,要求输入服务器信息和登录信息<br>(见图10.1)。在Sever框中,输入你的SQL服务器的名字。如果服务器正运行在本地计算机上,服务器名字就是你计算机的名字。<br>在登录信息框中,输入一个登录帐号和密码或选择使用“可信连接”,然后单击Connect按钮。 <br><br>图10。1<br><br> <br><br> <br><br>注意:<br><br>如果你将SQL Sever配置为使用完整安全或混合安全,那么你可以使用可信连接。如果你使用标准安全,你则需要提供用户帐号和<br>密码。要了解更多信息,参见第三章。<br><br>如果一切正常,在你单击连接按钮后会出现一个查询窗口,如图10.2所示。(如果有异常,请参考第三章) <br><br> <br><br>图10.2<br><br> <br><br>在执行查询之前,你需要选择数据库。安装 SQL Sever时你已为自己创建了一个数据库,SQL Sever还有许多系统数据库,如<br>master,model,msdb,和tempdb。<br><br>方便的是,SQL Sever带有一个特殊的名为pubs的例子数据库。库 pubs中包含供一个虚拟的出版商使用的各个表。文档中所有的<br>例子程序都是针对这个库来设计的。本书中的许多例子也使用这个数据库。<br><br>在查询窗口顶部的DB下拉框中选择数据库pubs,这样你就选择了数据库。你所有的查询都将针对这个库中的各个表来执行。现在你<br>可以执行你的第一个查询了。这真让人兴奋!<br><br>你的第一个查询将针对一个名为autrors的表,表中包含所有为某个虚拟出版商工作的作者的相关数据。单击查询窗口并输入以下<br>的语句:<br><br>SELECT phone FROM authors WHERE au_name="Ringer"<br><br>输入完成后,单击执行查询按钮(一个绿色三角形,看起来像VCR播放键)。单击此按钮后,任何出现在查询窗口中的语句均会被执<br>行。查询窗口会自动变成结果显示窗口,你可以看到查询的结果(见图10.3)。<br><br>你看到的查询结果也许与图10.3所示的不同。在SQL Sever的不同版本中,库pubs中的数据会有所不同。对SQL Sever 6.5来说,<br>将会找到两条记录。结果显示窗口中应显示如下内容:<br><br>phone<br><br>……………….<br><br>801 826_0752<br><br>801 826_0752<br><br>(2 row(s) affected)<br><br>图10.3<br><br> <br><br> <br><br>你所执行的SELECT语句从表authors中取出所有名字为Ringer的作者的电话号码。你通过在WHERE子句中使用特殊的选择条件来限<br>制查询的结果。你也可以忽略选择条件,从表中取出所有作者的电话号码。要做到这一点,单击Query标签,返回到查询窗口,输<br>入以下的SELECT语句:<br><br>SELECT Phone FROM authors<br><br>这个查询执行后,会取出表authors中的所有电话号码(没有特定的顺序)。如果表authors中包含一百个电话号码,会有一百个记<br>录被取出,如果表中有十亿个电话号码,这十亿条记录都会被取出(这也许需要一些时间)。<br><br>表authrs的字段包括姓,名字,电话号码,地址,城市,州和邮政编码。通过在SELECT语句的第一部份指定它们,你可以从表中取<br>出任何一个字段。你可以在一个SELECT语句中一次取出多个字段,比如:<br><br>SELECT au_fname ,au_lname, phone FROM authors<br><br>这个SELECT语句执行后,将取出这三个列的所有值。下面是这个查询的结果的一个示例(为了节省纸张,只显示查询结果的一部<br>分,其余记录用省略号代替):<br><br>au_fname au_lname phone <br><br>………………………………………………………………………….<br><br>Johnson White 408 496_7223<br><br>Marjorie Green 415 986_7020<br><br>Cheryl Carson 415 548_7723<br><br>Michael O’Leary 408 286_2428<br><br>… <br><br>(23 row(s) affected)<br><br>在SELECT语句中,你需要列出多少个字段,你就可以列出多少。不要忘了把字段名用逗号隔开。你也可以用星号(*)从一个表中<br>取出所有的字段。这里有一个使用星号的例子:<br><br>SELECT * FROM authors<br><br>这个SELECT语句执行后,表中的所有字段的值都被取出。你会发现你将在SQL查询中频繁使用星号。<br><br>技巧:<br><br>你可以使用星号来查看一个表的所有列的名字。要做到这一点,只需要在执行完SELECT语句后看一下查询结果的列标题。<br><br>操作多个表<br><br>到现在为止,你只尝试了用一句SQL查询从一个表中取出数据。你也可以用一个SELECT语句同时从多个表中取出数据,只需在<br>SELECT语句的FROM从句中列出要从中取出数据的表名称即可:<br><br>SELECT au_lname ,title FROM authors, titles <br><br>这个SELECT语句执行时,同时从表authors和表titles中取出数据。从表authors中取出所有的作者名字,从表titles中取出所有<br>的书名。在ISQL/w程序中执行这个查询,看一下查询结果。你会发现一些奇怪的出乎意料的情况:作者的名字并没有和它们所著的<br>书相匹配,而是出现了作者名字和书名的所有可能的组合,这也许不是你所希望见到的。<br><br>出了什么差错?问题在于你没有指明这两个表之间的关系。你没有通过任何方式告诉SQL如何把表和表关联在一起。由于不知道如何<br>关联两个表,服务器只能简单地返回取自两个表中的记录的所有可能组合。<br><br>要从两个表中选出有意义的记录组合,你需要通过建立两表中字段的关系来关联两个表。要做到这一点的途径之一是创建第三个<br>表,专门用来描述另外两个表的字段之间的关系。<br><br>表authors有一个名为au_id的字段,包含有每个作者的唯一标识。表titles有一个名为title_id的字段,包含每个书名的唯一标<br>识。如果你能在字段au_id和字段title_id 之间建立一个关系,你就可以关联这两个表。数据库pubs中有一个名为titleauthor的<br>表,正是用来完成这个工作。表中的每个记录包括两个字段,用来把表titles和表authors关联在一起。下面的SELECT语句使用了<br>这三个表以得到正确的结果:<br><br>SELECT au_name,title FROM authors,titles,titleauthor <br><br>WHERE authors.au_id=titleauthor.au_id<br><br>AND titles.title_id=titleauthor.title_id <br><br>当这个SELECT语句执行时,每个作者都将与正确的书名相匹配。表titleauthor指明了表authors和表titles的关系,它通过包含<br>分别来自两个表的各一个字段实现这一点。第三个表的唯一目的是在另外两个表的字段之间建立关系。它本身不包含任何附加数<br>据。<br><br>注意在这个例子中字段名是如何书写的。为了区别表authors和表titles中相同的字段名au_id,每个字段名前面都加上了表名前<br>缀和一个句号。名为author.au_id 的字段属于表authors,名为titleauthor.au_id的字段属于表titleauthor,两者不会混<br>淆。<br><br>通过使用第三个表,你可以在两个表的字段之间建立各种类型的关系。例如,一个作者也许写了许多不同的书,或者一本书也许由<br>许多不同的作者共同完成。当两个表的字段之间有这种“多对多”的关系时,你需要使用第三个表来指明这种关系。<br><br>但是,在许多情况下,两个表之间的关系并不复杂。比如你需要指明表titles和表publishers之间的关系。因为一个书名不可能与<br>多个出版商相匹配,你不需要通过第三个表来指明这两个表之间的关系。要指明表titles和表publishers之间的关系,你只要让这<br>两个表有一个公共的字段就可以了。在数据库pubs中,表titles和表publishers都有一个名为pub_id的字段。如果你想得到书名<br>及其出版商的一个列表,你可以使用如下的语句:<br><br>SELECT title,pub_name FROM titles,publishers<br><br>WHERE titles.pub_id=publishers.pub_id<br><br>当然,如果一本书是由两个出版商联合出版的,那么你需要第三个表来代表这种关系。<br><br>通常,当你予先知道两个表的字段间存在“多对多”关系时,就使用第三个表来关联这两个表。反之,如果两个表的字段间只有<br>“一对一”或“一对多”关系,你可以使用公共字段来关联它门。<br><br> <br><br>__________________<br><font color=red>真实源于生活! </font><br>请访问我们的网站: <br>(VB爱好者乐园) <br><a href="http://www.vbgood.com" target=_blank>http://www.vbgood.com</a><br><a href="http://www.d1vb.com" target=_blank>http://www.d1vb.com</a><br><a href="http://61.128.97.225/vbgood/index.asp" target=_blank>http://61.128.97.225/vbgood/index.asp</a><br>拥有1800多个资料! </p></td>
  </tr>
</table>

<p>
<CENTER><a href="http://www.jsp001.com/forum/newreply.php?action=newreply&threadid=439">点这里对该文章发表评论</a></CENTER>
<p>该文章总得分是 <font color=red>6</font> 分,你认为它对你有帮助吗?
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=439&intVote=4","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>非常多</a>](<font color=red>1</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=439&intVote=2","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>有一些</a>](<font color=red>1</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=439&intVote=1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>无帮助</a>](<font color=red>1</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=439&intVote=-1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>是灌水</a>](<font color=red>1</font>) </p>
<script language="javascript" src="http://www.jsp001.com/include/read_thread_script.php?threadid=439"></script>
<p><CENTER>
Copyright &copy; 2001 - 2009 JSP001.com . All Rights Reserved <P>

<IMG SRC="../image/jsp001_small_logo.gif" WIDTH="85" HEIGHT="30" BORDER=0 ALT="">
</CENTER></p>

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -