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

<b>SQL数据操作底子(初级)3</b>[MSSQL防范]

赞助商链接



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

普通,当你从一个表中取出字段值时,该值与成立该表时所定义的字段名接洽在一同.假如你从表authors中挑选全部的作者名字,全部的值将会与字段名au_lname相接洽.但是在某些情形下,你需求对字段名举行操作.在SELECT语句中,你可以在缺省字段名背面仅跟一个新名字来代替它.比方,可以用一个更直观易读的名字Author Last Name来替换字段名au_lname:

SELECT au_lname "Author Last Name" FROM authors

当这个SELECT语句履行时,来自字段au_lname的值会与"Author Last Name"相接洽.查询后果大概是这样:

Author Last Name

……………………………………………………………………..

White

Green

Carson

O’Leary

Straight



(23 row(s) affected)

注意字段标题不再是au_lname,而是被Author Last Name所代替.

你也可以通过履行运算,来操作从一个表返回的字段值.比方,假如你想把表titles中的全部书的价钱加倍,你可以利用下面的
SELECT语句:

SELECT price*2 FROM titles

当这个查询履行时,每本书的价钱从表中取出时城市加倍.但是,通过这种途径操作字段不会改变存储在表中的书价.对字段的运
算只会影响SELECT语句的输出,而不会影响表中的数据.为了同时显示书的原始价钱和涨价后的新价钱,你可以利用下面的查询:

SELECT price "Original price", price*2 "New price" FROM titles

当数据从表titles中取出时,原始价钱显示在标题Original price下面,加倍后的价钱显示在标题New price下面.后果大概是这
样:

original price new price

……………………………………………………………….

39.98
11.95 23.90

5.98
39.98


(18 row(s) affected)

你可以利用大大都尺度的数学运算符来操作字段值,如加(+),减(-),乘(*)和除(/).你也可以一次对多个字段举行运
算,比方:

SELECT price*ytd_sales "total revenue" FROM titles

在这个例子中,通过把价钱与贩卖量相乘,计算出了每种书的总贩卖额.这个SELECT语句的后果将是这样的:

total revenue

……………………………………………..

81,859,05

46,318,20

55,978,78

81,859,05

40,619,68



(18 row(s) affected)

最后,你还可以利用衔接运算符(它看起来像个加号)来衔接两个字符型字段:

SELECT au_fname+" "+au_lname "author name" FROM authors

在这个例子中,你把字段au_fname和字段au_lname粘贴在一同,中间用一个逗号 离隔,并把查询后果的标题指定为author
name.这个语句的履行后果将是这样的:

author names

…………………………………………………………

Johnson White

Marjorie Green

Cheryl Carson

Michael O’Leary

Dean Straight



(23 row(s) affected)

可以看到,SQL为你供应了对查询后果的很多掌握.你应当在ASP编程历程中充分操纵这些长处.利用SQL来操作查询后果几近老是
比利用有一样作用的脚本效率更高.

排序查询后果

本章的介绍中曾夸大过,SQL表没有内涵的次序.比方,从一个表中取第二个记录是没有意义的.从SQL的角度看来,没有一个记录
在任何其他记录之前.

但是,你可以操作一个SQL查询后果的次序.在缺省情形下,当记录从表中取出时,记录不以特定的次序呈现.比方,当从表
authors中取出字段au_lname时,查询后果显示成这样:

au_lname

…………………………………….

White

Green

Carson

O’Leary

Straight



(23 row(s) affected)

看一列没有特定次序的名字是很不便利的.假如把这些名字按字母次序布列,读起来就会简单得多.通过利用ORDER BY子句,你可
以强迫一个查询后果按升序布列,就像这样:

SELECT au_lname FROM authors ORDER BY au_lname

当这个SELECT语句履行时,作者名字的显示将按字母次序布列.ORDER BY子句将作者名字按升序布列.

你也可以同时对多个列利用ORDER BY子句.比方,假如你想同时按升序显示字段au_lname和字段au_fname,你需求对两个字段都
举行排序:

SELECT au_lname,au_fname FROM authors ORDER BY au_lname ,au_fname

这个查询首先把后果按au_lname字段举行排序,然后按字段au_fname排序.记录将按以下的次序取出:

au_lname au_fname

…………………………………………………………………….

Bennet Abraham

Ringer Albert

Ringer Anne

Smith Meander



(23 row(s) affected)

注意有两个作者有相同的名字Ringer.名为Albert Ringer的作者呈现名为Anne Ringer的作者之前,这是因为姓Albert按字母顺
序应排在姓Anne之前.

假如你想把查询后果按相反的次序布列,你可以利用关键字DESC.关键字DESC把查询后果按降序布列,以下例所示:

SELECT au_lname,au_fname FROM authors

WHERE au_l ORDER BY au_lname ,au_fname DESC

这个查询从表authors中取出全部名字为Ringer的作者记录.ORDER BY子句按照作者的名字和姓,将查询后果按降序布列.后果是
这样的:

au_lname au_fname

……………………………………………………………………………………….

Ringer Anne

Ringer Albert

(2 row(s) affectec)

注意在这个表中,姓Anne呈目前姓Albert之前.作者名字按降序显示.

你也可以按数值型字段对一个查询后果举行排序.比方,假如你想按降序取出全部书的价钱,你可以利用以下的SQL查询:

SELECT price FROM titles ORDER BY price DESC

这个SELECT语句从表中取出全部书的价钱,显示后果时,价钱低的书先显示,价钱高的书后显示.

告诫:

不是分外需求时,不要对查询后果举行排序,因为服务器完成这项工作要费些力气.这意味着带有ORDER BY 子句的SELECT语句执
行起来比普通的SELECT语句花的时间长.

取出互不相同的记录

一个表有大概在同一列中有反复的值.比方,数据库pubs的表authors中有两个作者的名字是Ringer.假如你从这个表中取出全部
的名字,名字Ringer将会显示两次.

在特定情形下,你大概只有爱好从一个表中取出互不相同的值.假如一个字段有反复的值,你大概但愿每个值只被选取一次,你可
以利用关键字DISTINCT来做到这一点:

SELCET DISTINCT au_lname FROM authors WHERE au_l

当这个SELECT语句履行时,只返回一个记录.通过在SELECT语句中包含关键字DISTINCT,你可以删除全部反复的值.比方,假定
有一个关于新闻组信息公布的表,你想取出全部曾在这个新闻组中公布信息的人的名字,那么你可以利用关键字DISTINCT.每个用
户的名字只取一次——固然有的用户公布了不止一篇信息.

告诫:

好像ORDER BY子句一样,强迫服务器返回互不相同的值也会增添运行开销.福气不得不耗费一些时间来完成这项工作.因此,不是
必须的时刻不要利用关键字DISTINCT.

成立新表

前面说过,数据库中的全部数据存储在表中.数据表包含行和列.列决意了表中数据的范例.行包含了实际的数据.

比方,数据库pubs中的表authors有九个字段.此中的一个字段名为为au_lname,这个字段被用来存储作者的名字信息.每次向这个表中增添新作者时,作者名字就被增添到这个字段,产生一条新记录.

通过定义字段,你可以成立一个新表.每个字段有一个名字和一个特定的数据范例(数据范例在背面的"字段范例"一节中报告),比方字段au_lname存储的是字符型数据.一个字段也可以存储别的范例的数据.

利用SQL Sever,成立一个新表的办法是很多的.你可以可履行一个SQL语句或利用SQL事件管理器(SQL Enterprise Manager)来成立一个新表.在下一节里,你将学会若何用SQL语句来成立一个新表.
  以上是“<b>SQL数据操作底子(初级)3</b>[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

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

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