当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

SQL数据操作底子(初级)2[MSSQL防范]

赞助商链接



  本文“SQL数据操作底子(初级)2[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
利用ISQL履行SELECT查询

当你安装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按钮.

注意:

假如你将SQL Sever配置为利用完好安全或混合安全,那么你可以利用可托衔接.假如你利用尺度安全,你则需求供利用户帐号和
密码.要理解更多信息,拜见第三章.

假如一切正常,在你单击衔接按钮后会呈现一个查询窗口,如图10.2所示.(假若有非常,请参考第三章)

在履行查询之前,你需求挑选数据库.安装 SQL Sever时你已为自己成立了一个数据库,SQL Sever还有很多系统数据库,如master,model,msdb,和tempdb.

便利的是,SQL Sever带有一个特别的名为pubs的例子数据库.库 pubs中包含供一个虚拟的出版商利用的各个表.文档中全部的例子程序都是针对这个库来计划的.本书中的很多例子也利用这个数据库.

在查询窗口顶部的DB下拉框中挑选数据库pubs,这样你就挑选了数据库.你全部的查询都将针对这个库中的各个表来履行.目前你可以履行你的第一个查询了.这真让人高兴!

你的第一个查询将针对一个名为autrors的表,表中包含全部为某个虚拟出版商工作的作者的相关数据.单击查询窗口并输入以下的语句:

SELECT phone FROM authors WHERE au_

输入完成后,单击履行查询按钮(一个绿色三角形,看起来像VCR播放键).单击此按钮后,任何呈目前查询窗口中的语句均会被执
行.查询窗口会自动变成后果显示窗口,你可以看到查询的后果(见图10.3).

你看到的查询后果大概与图10.3所示的差别.在SQL Sever的差别版本中,库pubs中的数据会有所差别.对SQL Sever 6.5来说,
将会找到两条记录.后果显示窗口中应显示以下内容:

phone

……………….

801 826_0752

801 826_0752

(2 row(s) affected)



你所履行的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的
表,恰是用来完成这个工作.表中的每个记录包含两个字段,用来把表titles和表authors关联在一同.下面的SELECT语句利用了
这三个表以得到精确的后果:

SELECT au_name,title FROM authors,titles,titleauthor

WHERE authors.au_id=titleauthor.au_id

AND titles.title_id=titleauthor.title_id

当这个SELECT语句履行时,每个作者都将与精确的书名相匹配.表titleauthor指明了表authors和表titles的关系,它通过包含
辨别来自两个表的各一个字段实现这一点.第三个表的唯一目的是在别的两个表的字段之间成立关系.它本身不包含任何附加数
据.

注意在这个例子中字段名是若何书写的.为了辨别表authors和表titles中相同的字段名au_id,每个字段名前面都加上了表名前
缀和一个句号.名为author.au_id 的字段属于表authors,名为titleauthor.au_id的字段属于表titleauthor,二者不会混
淆.

通过利用第三个表,你可以在两个表的字段之间成立各种范例的关系.比方,一个作者大概写了很多差别的书,大概一本书大概由
很多差别的作者共同完成.当两个表的字段之间有这种"多对多"的关系时,你需求利用第三个表来指明这种关系.

但是,在很多情形下,两个表之间的关系并不复杂.比方你需求指明表titles和表Publishers之间的关系.因为一个书名不大概与
多个出版商相匹配,你不需求通过第三个表来指明这两个表之间的关系.要指明表titles和表publishers之间的关系,你只要让这
两个表有一个大众的字段便可以了.在数据库pubs中,表titles和表publishers都有一个名为pub_id的字段.假如你想得到书名
及其出版商的一个列表,你可以利用以下的语句:

SELECT title,pub_name FROM titles,publishers

WHERE titles.pub_id=publishers.pub_id

当然,假如一本书是由两个出版商结合出版的,那么你需求第三个表来代表这种关系.

普通,当你予先知道两个表的字段间存在"多对多"关系时,就利用第三个表来关联这两个表.反之,假如两个表的字段间只有"一对一"或"一对多"关系,你可以利用大众字段来关联它门.
  以上是“SQL数据操作底子(初级)2[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • mysql数据库插入速度和读取速度的调整记录
  • 远程衔接mysql数据库注意事项记录(远程衔接慢skip-name-resolve)
  • linux下mysql数据库单向同步配置办法分享
  • mysql数据库互为主从配置办法分享
  • MySQL数据库备份和复原的常用号令小结
  • linux下perl操作mysql数据库(需求安装DBI)
  • Windows服务器下MySql数据库单向主从备份具体实现步骤分享
  • crontab + mysqldump 办理每天按时自动备份MySQL数据库
  • linux按时备份mysql数据库
  • Ubuntu/Window共用MySQL数据库
  • 若何从PowerDesign数据库建模导出至MySQL数据库
  • PostgreSQL数据库远程衔接功效的开启
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .