知识大全 SQL数据操作基础(中级)8

Posted 语句

篇首语:学之广在于不倦,不倦在于固志。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL数据操作基础(中级)8相关的知识,希望对你有一定的参考价值。

SQL数据操作基础(中级)8  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  更新记录    要修改表中已经存在的一条或多条记录 应使用SQL UPDATE语句 同DELETE语句一样 UPDATE语句可以使用WHERE子句来选择更新特定的记录 请看这个例子     UPDATE mytable SET first_column= Updated! WHERE second_column= Update Me!     这个UPDATE 语句更新所有second_column字段的值为 Update Me! 的记录 对所有被选中的记录 字段first_column的值被置为 Updated!     下面是UPDATE语句的完整句法     UPDATE table_name|view_name SET [table_name|view_name]    column_list|variable_list|variable_and_column_list    [ column_list |variable_list |variable_and_column_list …    [ column_listN|variable_listN|variable_and_column_listN]]    [WHERE clause]    注意     你可以对文本型字段使用UPDATE语句 但是 如果你需要更新很长的字符串 应使用UPDATETEXT语句 这部分内容对本书来说太高级了 因此不加讨论 要了解更多的信息 请参考Microsoft SQL Sever 的文档     如果你不提供WHERE子句 表中的所有记录都将被更新 有时这是有用的 例如 如果你想把表titles中的所有书的价格加倍 你可以使用如下的UPDATE 语句     你也可以同时更新多个字段 例如 下面的UPDATE语句同时更新first_column second_column 和third_column这三个字段     UPDATE mytable SET first_column= Updated!     Second_column= Updated!     Third_column= Updated!     WHERE first_column= Update Me     技巧     SQL忽略语句中多余的空格 你可以把SQL语句写成任何你最容易读的格式          用SELECT 创建记录和表    你也许已经注意到 INSERT 语句与DELETE语句和UPDATE语句有一点不同 它一次只操作一个记录 然而 有一个方法可以使INSERT 语句一次添加多个记录 要作到这一点 你需要把INSERT 语句与SELECT 语句结合起来 象这样     INSERT mytable (first_column second_column)    SELECT another_first another_second    FROM anothertable    WHERE another_first= Copy Me!     这个语句从anothertable拷贝记录到mytable 只有表anothertable中字段another_first的值为 Copy Me! 的记录才被拷贝     当为一个表中的记录建立备份时 这种形式的INSERT 语句是非常有用的 在删除一个表中的记录之前 你可以先用这种方法把它们拷贝到另一个表中     如果你需要拷贝整个表 你可以使用SELECT INTO 语句 例如 下面的语句创建了一个名为newtable的新表 该表包含表mytable的所有数据     SELECT * INTO newtable FROM mytable    你也可以指定只有特定的字段被用来创建这个新表 要做到这一点 只需在字段列表中指定你想要拷贝的字段 另外 你可以使用WHERE 子句来限制拷贝到新表中的记录 下面的例子只拷贝字段second_columnd的值等于 Copy Me! 的记录的first_column字段     SELECT first_column INTO newtable    FROM mytable    WHERE second_column= Copy Me!     使用SQL修改已经建立的表是很困难的 例如 如果你向一个表中添加了一个字段 没有容易的办法来去除它 另外 如果你不小心把一个字段的数据类型给错了 你将没有办法改变它 但是 使用本节中讲述的SQL语句 你可以绕过这两个问题     例如 假设你想从一个表中删除一个字段 使用SELECT INTO 语句 你可以创建该表的一个拷贝 但不包含要删除的字段 这使你既删除了该字段 又保留了不想删除的数据     如果你想改变一个字段的数据类型 你可以创建一个包含正确数据类型字段的新表 创建好该表后 你就可以结合使用UPDATE语句和SELECT 语句 把原来表中的所有数据拷贝到新表中 通过这种方法 你既可以修改表的结构 又能保存原有的数据     集合函数    到现在为止 你只学习了如何根据特定的条件从表中取出一条或多条记录 但是 假如你想对一个表中的记录进行数据统计 例如 如果你想统计存储在表中的一次民意测验的投票结果 或者你想知道一个访问者在你的站点上平均花费了多少时间 要对表中的任何类型的数据进行统计 都需要使用集合函数     Microsoft SQL 支持五种类型的集合函数 你可以统计记录数目 平均值 最小值 最大值 或者求和 当你使用一个集合函数时 它只返回一个数 该数值代表这几个统计值之一     注意     要在你的ASP网页中使用集合函数的返回值 你需要给该值起一个名字 要作到这一点 你可以在SELECT语句中 在集合函数后面紧跟一个字段名 如下例所示     SELECT AVG(vote) the_average FROM opinion    在这个例子中 vote的平均值被命名为 the_average 现在你可以在你的ASP网页的数据库方法中使用这个名字     统计字段值的数目    函数COUNT()也许是最有用的集合函数 你可以用这个函数来统计一个表中有多少条记录 这里有一个例子     SELECT COUNT(au_lname) FROM authors    这个例子计算表authors中名字(last name)的数目 如果相同的名字出现了不止一次 该名字将会被计算多次 如果你想知道名字为某个特定值的作者有多少个 你可以使用WHERE子句 如下例所示     SELECT COUNT(au_lname) FROM authors WHERE au_lname= Ringer     这个例子返回名字为 Ringer 的作者的数目 如果这个名字在表authors中出现了两次 则次函数的返回值是     假如你想知道有不同名字的作者的数目 你可以通过使用关键字DISTINCT来得到该数目 如下例所示     SELECT COUNT(DISTINCT au_lname) FROM authors    如果名字 Ringer 出现了不止一次 它将只被计算一次 关键字DISTINCT 决定了只有互不相同的值才被计算     通常 当你使用COUNT()时 字段中的空值将被忽略 一般来说 这正是你所希望的 但是 如果你仅仅想知道表中记录的数目 那么你需要计算表中所有的记录─不管它是否包含空值 下面是一个如何做到这一点的例子     SELECT COUNT(*) FROM authors    注意函数COUNT()没有指定任何字段 这个语句计算表中所有记录所数目 包括有空值的记录 因此 你不需要指定要被计算的特定字段     函数COUNT()在很多不同情况下是有用的 例如 假设有一个表保存了对你站点的质量进行民意调查的结果 这个表有一个名为vote的字段 该字段的值要么是 要么是 表示反对票 表示赞成票 要确定赞成票的数量 你可以所有下面的SELECT 语句     SELECT COUNT(vote) FROM opinion_table WHERE vote=     计算字段的平均值    使用函数COUNT() 你可以统计一个字段中有多少个值 但有时你需要计算这些值的平均值 使用函数AVG() 你可以返回一个字段中所有值的平均值     假如你对你的站点进行一次较为复杂的民意调查 访问者可以在 到 之间投票 表示他们喜欢你站点的程度 你把投票结果保存在名为vote的INT型字段中 要计算你的用户投票的平均值 你需要使用函数AVG() SELECT AVG(vote) FROM opinion    这个SELECT语句的返回值代表用户对你站点的平均喜欢程度 函数AVG()只能对数值型字段使用 这个函数在计算平均值时也忽略空值     计算字段值的和    假设你的站点被用来出售卡片 已经运行了两个月 是该计算赚了多少钱的时候了 假设有一个名为orders的表用来记录所有访问者的定购信息 要计算所有定购量的总和 你可以使用函数SUM()     SELECT SUM(purchase_amount) FROM orders    函数SUM()的返回值代表字段purchase_amount中所有值的平均值 字段purchase_amount的数据类型也许是MONEY型 但你也可以对其它数值型字段使用函数SUM()     返回最大值或最小值    再一次假设你有一个表用来保存对你的站点进行民意调查的结果 访问者可以选择从 到 的值来表示他们对你站点的评价 如果你想知道访问者对你站点的最高评价 你可以使用如下的语句     SELECT MAX(vote) FROM opinion    你也许希望有人对你的站点给予了很高的评价 通过函数MAX() 你可以知道一个数值型字段的所有值中的最大值 如果有人对你的站点投了数字 函数MAX()将返回该值     另一方面 假如你想知道访问者对你站点的的最低评价 你可以使用函数MIN() 如下例所示     SELECT MIN(vote) FROM opinion    函数MIN()返回一个字段的所有值中的最小值 如果字段是空的 函数MIN()返回空值     其它常用的SQL表达式 函数 和过程    这一节将介绍一些其它的SQL技术 你将学习如何从表中取出数据 其某个字段的值处在一定的范围 你还将学习如何把字段值从一种类型转换成另一种类型 如何操作字符串和日期时间数据 最后 你将学会一个发送邮件的简单方法     通过匹配一定范围的值来取出数据    假设你有一个表用来保存对你的站点进行民意调查的结果 现在你想向 cha138/Article/program/SQLServer/201311/21988

相关参考

知识大全 SQL数据操作基础(中级)10

SQL数据操作基础(中级)10  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  操作日期和时间  

知识大全 SQL数据操作基础(初级)3

SQL数据操作基础(初级)3  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  操作字段    通常

知识大全 SQL数据操作基础(初级)1

SQL数据操作基础(初级)1  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了建立交互站点你需

知识大全 SQL数据操作基础(初级)2

SQL数据操作基础(初级)2  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用ISQL执行SE

知识大全 Sql语言基础教程 sql数据类型[2]

Sql语言基础教程sql数据类型[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 Sql语言基础教程 sql数据类型[1]

Sql语言基础教程sql数据类型[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 SQL的基本操作(1.数据类型)

SQL的基本操作(1.数据类型)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据类型  数据

知识大全 SQL数据库的简单操作

SQL数据库的简单操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一简单查询  简单的Tra

知识大全 oracle数据库中sql基础

  一关系数据库的一些概念    主键的值一般不可以改变    外键指向另一个表或本表的主键或唯一键的字段外键的值一定要和某一主键相同或者为空    数据库对像表视图序列索引同义词程序(进程函数sql

知识大全 数据库技术考试大纲(中级)

  一考试说明  .考试要求  ()掌握计算机基本原理和操作  ()掌握数据库的基本原理和理论  ()掌握一种数据库管理系统(ORACLE或SYBASE或INFORMIX或……)的知识及开发工具的使用