asp与sql网页数据库程序设计- .pdf

上传人:C****o 文档编号:39693099 上传时间:2022-09-07 格式:PDF 页数:39 大小:1.77MB
返回 下载 相关 举报
asp与sql网页数据库程序设计- .pdf_第1页
第1页 / 共39页
asp与sql网页数据库程序设计- .pdf_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《asp与sql网页数据库程序设计- .pdf》由会员分享,可在线阅读,更多相关《asp与sql网页数据库程序设计- .pdf(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、8 Transact-SQL 语法基础8-1 Transact-SQL 表达式8-2 Transact-SQL 数据类型8-3 Transact-SQL 函数8-4 Query Analyzer工具程序8-5 Transact-SQL 语句8-6 数据处理语法(DML)名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 39 页 -ASP 与 SQL 网站数据库程序设计208 在正式介绍Transact-SQL 语句的语法之前,笔者先利用较短的篇幅,简单介绍有关Transact-SQL 表达式、数据类型以及函数等。并且希望让从未接触过 SQL 语句设计的读者,可以有一些Transac

2、t-SQL 的运行概念;同时也可以让已经使用过Transact-SQL 语句设计的读者,作为相关查询的数据来源。8-1 Transact-SQL 表达式表达式是用来在“列与列之间”或者“在变量之间”进行比较以及数学运算的符号。在MS-SQL Server 中,表达式共具有“数学表达式”、“字符串表达式”、“比较式”以及“逻辑表达式”等四种表达式的类型;下面就对这些表达式类型进行详细的说明。8-1-1数学表达式数学表达式可以用在各种数字类型变量的运算。这些数字类型变量的数据类型共有:INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY。而数学表达式的

3、符号共有:加()、减()、乘(*)、除(/)和求余数()。其具体说明如表8-1 所示。表 8-1 符号功能可以操作用的数据类型加INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY 减INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY*乘INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY/除INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY%取 余 数INT,SMALLINT,TINYINT 注意事项数学表

4、达式只能在数字变量或者数字型数组中进行运算。取余数只能使用在INT,SMALLINT和 TINYIINT数据类型。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 39 页 -第 8 章Transact-SQL 语法基础209 8-1-2字符串表达式字符串是由字符、符号以及数字所组成,并且字符串表达式是使用于字符串运算与操作的一种运算方式。在SQL Server 的字符串表达式中,字符串是可以使用数学表达式的“+”,达到字符串的相加、结合的目的。在SQL Server 的数据类型中,可以适用于字符串加法的数据类型计有:“Char”、“VarChar”、“Nvarchar”、“Tex

5、t”,以 及 可 以 转 换 为“Char”或 是“VarChar”数据类型的数据类型。例如:“ASP”、“&”以及“SQL 2000”三个字符串相加的表达式如下所示:Interval=“ASP”+“&”+“SQL 2000”这三个字符串、字符相加之后的结果“Interval”,其内容则为“ASP&SQL 2000”。8-1-3比较表达式比较表达式是用来对两个表达式进行比较。在MS-SQL Server 中,可以使用的比较表达式符号如表8-2 所示。表 8-2 较表达式符号表达式符号功能等于 大于=大于或者等于=小于或者等于 或!=不等于!不大于!不小于()优先级控制符此外,比较表达式的执行优

6、先级如同数学表达式一样,可以使用“()”来设置运算的优先级。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 39 页 -ASP 与 SQL 网站数据库程序设计210 8-1-4逻辑表达式在Transact-SQL 的 逻 辑 表 达 式 中,共 具有“AND”、“OR”以 及“NOT”三种逻辑表达式。以下是这三种逻辑表达式的功能说明:“AND”表达式:当所有的条件式在运算之后,只有全部的返回值都是“真”的情况下,其逻辑运算值才会返回“真”;反之,如果有一个返回值是“假”时,其逻辑运算值即为“假”。“OR”表达式:只要有一个条件式的返回值是“真”,其逻辑运算值即返回“真”。“NOT

7、”表达式:逻辑表达式“反向”。即逻辑运算值为“真”时,其返回值即为“假”。同时在优先级方面,其优先级为“NOT”、“AND”、“OR”。并且逻辑表达式可以使用的数据类型如表8-3 所示。表 8-3 逻辑表达式可以使用的数据类型左操作数右操作数binary,varbinary int,smallint,tinyint int,smallint,tinyint int,smallint,tinyint,binary bit int,smallint,tinyint,binary 8-1-5表达式的优先级通常在一个Transact-SQL 的表达式中,可能会包含许多不同类型的表达式。Transact

8、-SQL 在执行的过程中,根据下列的原则定义表达式的先后执行顺序:括号:“()”反向表达式:“”乘、除、取余数表达式:“*”、“/”、“”加减表达式:“”、“”XOR 表达式:“”AND 表达式:“&”OR 表达式:“|”NOT 连接AND 连接名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 39 页 -第 8 章Transact-SQL 语法基础211 OR 连接如果具有相同的优先级时,则按照“由左而右”的规则进行运算。8-2 Transact-SQL 数据类型数据类型是“信息”类型的表现方式;对于每一种程序设计语言来说,它们都各自具有对“信息”类型的不同定义方式。在MS-SQ

9、L Server 中共提供了 25 种不同的数据类型,以下是这些数据类型的分类与说明。表 8-4 数据类型的分类与说明类型数据类型说明二进制数据类型其数据内容是由“二进制”表示方式所组成的Binary(n)可以是固定长度,也可以是变化长度。Binary(n)是 n 位数固定长度的二进制数据。n 的范围是从1 到 8000,所使用的存储空间大小为n+4 个字节Varbinary(n)n 为变动长度的二进制数据。n 的范围是 1 到 8000,所使用的存储空间大小为 n+4 个字节Image 用于存储影像文件数据用。字符数据类型字符数据是由字符、数字以及符号所组合而成的数据Char(n)固定长度字

10、符串,最大为8192 字符VarChar(n)变动长度字符数据,长度不超过8192字符Text 可以存储超过8192 字符的数据日期和时间数据类型数据内容是以“日期格式”或者是“时间格式”的方式所存储的数据类型DateTime 存储的日期从1753 年 1 月 1 日到 9999年 12 月 31 日,每一个数值要求8 个字节的存储空间名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 39 页 -ASP 与 SQL 网站数据库程序设计212 续表类型数据类型说明Smalldatetime 存储的日期从1900 年 1 月 1 日到 2079年 12 月 31 日,每一个数值要求4

11、个字节的存储空间Unicode 数据类型用以存储Unicode 字符的数据类型Nchar 行 的 长 度 固 定 不 变,最 多 可 以 存 储4000 个字符Nvarchar 可变动行的长度,最多可以存储4000个字符Ntext 可以存储超过4000 个字符数值数据类型数值数据类型包括正数、负数、小数和浮点数Int 数 值 存 储 的 范 围 从 2,147,483,648 到2,147,483,647,每个数值要求4 个字节的存储空间SmallInt 存 储 的 范 围 是 32,768 到32,767,每个数值要求2 个字节的存储空间TinyInt 存储范围从0 到 255,每个数值要求

12、1个字节存储空间Decimal,Numeric 精确小数,数值范围从 1038 1 到 1038 1 Float 浮点数值,数值范围从 1.79E+308 到1.79E+308 Real 双 精 度 浮 点 数 值,数 值 范 围 从 3.40E+38 到3.40E+38,要 求的 存 储空间为 4 个字节货币数据类型用以表示货币数量的数据类型Money 要求 8 个字节的存储空间Smallmoney 要求 4 个字节的存储空间特殊数据类型名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 39 页 -第 8 章Transact-SQL 语法基础213 续表类型数据类型说明TimeS

13、tamp 以二进制的格式,表示SQL Server 活动的先后顺序Bit 以“0”或是“1”所组成的数据类型,使用 Bit 的数据类型可以表示“真”、“假”、“ON”或者是“OFF”Uniqueidentifier 以十六进制的方式,表示一个全域唯一的识别码8-3 Transact-SQL 函数在数据库的“日常维护”、“管理”、“数据查询”等方面,函数可以说使用得非常频繁。通过Transact-SQL 函数的使用,可以在“系统的相关信息”、“数学运算”、“查询”以及“统计”等方面,提供非常大的帮助。在MS-SQL Server 中,常用的函数有:“字符串函数”、“日期时间函数”、“数学函数”、

14、“转换函数”、“系统函数”以及“聚合函数”等。以下是这些函数的列示与说明。1.字符串函数表 8-5 字符串函数函数名称参数功能+expr expr 字符串加法ASCII char_expr 返回ASCII 的数值CHAR interger_expr 返回ASCII 的字符CHARINDEX“pattern”,expr取得Pattern 的起始位置DIFFERENCE char_expr1,char_expr2 字符串比较LTRIM char_expr 删除字符串左方的空格LOWER char_expr 将字符串的内容全部转换成小写字母名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共

15、 39 页 -ASP 与 SQL 网站数据库程序设计214 续表函数名称参数功能PATINDEX“%pattern”,expr取 得Pattern 的起始位置,其中,“%”为MS-SQL Server 专 用 的“万用字符”REPLICATE char_expr,integer_expr 根据指定的数值,产生重复的字符串内容RIGHT char_expr,interger_expr 返回字符串右边指定的字符内容REVERSE char_expr 反向表达式RTRIM char_expr 去除字符串右边的空格SOUNDEX char_expr 返回一个四位程序代码,用以比较两个字符串的相似性SP

16、ACE interger_expr 产生指定数量的空格STUFF char_expr1,start,length,char_expr2 在char_expr 字符串中,从start 开始,长 度 为length的 字 符 串,以char_expr2 取代SUBSTRING expr,start,length 返回expr 字符串中,从start 开始,长度为 length 的字符串STR float,length,decimal 将数值转换为字符串的函数。Length为总长度,decimal 是小数点之后的长度UPPER char_expr 将字符串中全部的字符转换为大写字母2.日期与时间函数

17、表 8-6 日期与时间函数函数名称参数功能GETDATE()返回系统目前的日期与时间DATEDIFF(datepart,date1,date2)以 datepart 指定的方式,返回date2 与date1两个日期之间的值名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 39 页 -第 8 章Transact-SQL 语法基础215 续表函数名称参数功能DATEADD(datepart,number,date)以 datepart 指定的方式,返回date,加上 number 之后的日期DATEPART(datepart,date)返回日期 date 中,datepart 指定部分

18、所对应的整数值DATENAME(datepart,date)返回日期 date 中,datepart 指定部分所对应的字符串名称以下所列的是在日期与时间函数中,与datepart 相关“字段名称”、“缩写”以及“数值范围”的列表。表 8-7 日期与时间函数相关列表字段名称缩写数值范围Year Yy 1753 9999 Quarter Qq 1 4 Month Mm 1 12 Day of year Dy 1 366 Day Dd 1 31 Week Wk 0 51 Weekday Dw 1 7 Hour Hh 0 23 Minute Mi 0 59 Second Ss 0 59 Millise

19、cond Ms 0 999 3.数学函数表 8-8 数学函数函数名称参数功能说明ABS Numeric_expr 返回Numeric_expr 的绝对值ASIN、ACOS、ATAN Float_expr 返回 Float_expr 浮点数值的反正弦、反余弦、反正切名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 39 页 -ASP 与 SQL 网站数据库程序设计216 续表函数名称参数功能说明SIN、COS、TAN Float_expr 返回Float_expr 的正弦、余弦、正切CEILING Numeric_expr 返回大于或等于指定数值的最小整数EXP Float_expr

20、 返回Float_expr 数值的指数DEGREES Numeric_expr 把Numeric_expr 弧度转换为角度FLOOR Numeric_expr 返回小于或等于指定数值的最大整数POWER Numeric_expr 返回指定数值的次幂值LOG Float_expr 返回Float_expr 的自然对数SQRT Float_expr 返回Flot_expr 的平方根RAND seed 返回介于0 到 1 之间的随机数PI()圆周率Pi 值,3.141592653589793 ROUND Numeric_expr,length 将Numeric_expr 以指定的长度(Length)

21、进行四舍五入的运算SIGN Numeric_expr 依据Numeric_expr 的数值,判断是否为“正”、“负”以及“零”,并且返回“1”、“1”以及“0”LOG10 Float_expr 返 回Float_expr 以10 为底 的 自 然对数RANIANS Numeric_expr 把Numeric_expr 角度转换为s弧度4.转换函数转换函数是用来在表达式格式之间,进行数据类型转换的一种函数,其语法格式如下所示:CONVERT(datatype(length),expression,style)其中 datatype 是参数 expression 转换之后的数据类型。转换之后的数据

22、类型只能是SQL Server 系统默认的数据类型,而不能是用户自定义的数据类型。其中length 表示转换之后的数据长度,系统默认值为“30”,最大值则为“255”。转换函数如果是使用在将DateTime 或者 SmallDateTime 格式转换为字符类型时,则必须以Style 作为转换之后的字符格式,其参数与对应的日期格式名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 39 页 -第 8 章Transact-SQL 语法基础217 如表 8-9 所示。表 8-9 转换后的参数与对应的日期格式不具“公元”的格式具“公元”的格式转换后的字符串格式(默认的)0 或者 100 m

23、on dd yy hh:mi AM(或 PM)1 101 mm/dd/yy 2 102 yy.mm.dd 3 103 dd/mm/yy 4 104 dd.mm.yy 5 105 dd-mm-yy 6 106 dd mon yy 7 107 mon dd,yy 8 108 hh:mi:s 9 或是 109 mon dd,yyyy hh:mi:ss:msAM(或是 PM)10 110 mm-dd-yy 11 111 Yy/mm/dd 12 112 Yymmdd 13 或是 113 dd mon yy hh:mi:ss:ms(24小时制)14 114 hh:mi:ss:ms(24 小时制)5.系统函

24、数MS-SQL Server 中,提供可以显示“SQL Server 服务器”、“数据库”以及“与帐号有关”的系统函数。系统函数可以使用在表达式之中,并且使用格式、常用的系统函数如下所示:system_function(argument)名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 39 页 -ASP 与 SQL 网站数据库程序设计218 表 8-10 常用的系统函数函数名称参数结果COALESCE expr1,expr2,exprn 返回第一个非空白的表达式COL_NAME“table_id”,“col_id”返回指定的表以及数据行识别码所对应的数据行名称COL_LENGT

25、H“table_name”,“col_name”返回指定的数据行长度DB_ID “database_name”返回数据库的ID 识别码DB_NAME “database_name”返回数据库的名称DATALENGTH“expr”返回任意数据类型表达式的实际长度GETANSINULL “database_name”返回数据库NULL 的默认值HOST_ID()返回主机的ID 识别码HOST_NAME()返回主机的名称IDENT_INCR“table or view”返 回 指 定 的 表 或View 中,IDENTITY 行的增量值IDENT_SEED“table or view”返 回 指 定

26、 的 表 或View 中,IDENTITY 行的初始值ISDATE“variable or col_name”检查变量或数据行是否具有有效的日期格式。如果是具有有效的日期格式时,则返回值为“1”;如果不是具有有效的日期格式时,返回值为“0”ISNULL“expr,value”用指定的值代替表达式中的NULL 值INDEX_COL“table_name”,index_id,key_id返回做为索引的数据行名称ISNUMERIC“variable or col_name”检查变量或数据行是否具有有效的数字格式,如果具有有效的数字格式时,则返回值为“1”;如果不是具有有效的数字格式,则返回值为“0”

27、名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 39 页 -第 8 章Transact-SQL 语法基础219 续表函数名称参数结果NULLIF expr1,expr2 如果两个表达式在比较之后是“相等”的情况,则返回NULL OBJECT_ID“object_name”返回数据库对象的名称OBJECT_NAME“object_id”返回数据库对象的ID 识别码SUSER_ID “server_user_name”返回在服务器中用户的帐号名称SUSER_NAME “server_user_id”返回在服务器中用户的ID 识别码USER_NAME “user_id”返回用户的ID

28、 识别码USER_ID “user_name”返回用户的帐号名称STATS_DATE table_id,index_id 返回最后一次修改索引的日期6.聚合函数聚合函数可以返回“整个”、“数个数据行”或者“单一数据行”的总计信息。通常聚合函数都是配合SELECT语句查询行的统计信息。在MS-SQL Server 中,常用的聚合函数计有:“AVG”、“SUM”、“COUNT”、“MAX”和“MIN”等。通常这些聚合函数都是与GROUP BY 语句搭配使用的。在使用聚合函数时,有一点非常重要,“不能用于SELECT 语句以及WHERE 语句之中”。常用的聚合函数以及参数、说明如表8-11 所示。表

29、 8-11 常用的聚合函数聚合函数参数功能AVG ALL|DISTINCT|expr 返回表达式的平均值COUNT ALL|DISTINCT|expr 返回在某个表达式中,数据值的大小。如果搭配 DISTINCT关键词使用,将会自动删除重复的数值COUNT(*)计算所有的行数,不能使用DISTINCT关键词MAX Expr 返回表达式中的最大值MIN Expr 返回表达式中的最小值SUM ALL|DISTINCT|expr 返回表达式所有数值的总和名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 39 页 -ASP 与 SQL 网站数据库程序设计220 8-4 Query Ana

30、lyzer 工具程序在正式介绍Transact-SQL 语句的语法之前,笔者必须要先为读者介绍测试 Transact-SQL 语法的工具程序“Query Analyzer”。这是SQL Server 所提供的工具程序,并且以互动的方式,输入Transact-SQL 语句与程序的一种工具程序。以下是执行Query Analyzer 的步骤:(1)选择“程序”|Microsoft SQL Server|“查询分析器”命令。图 8-1 选择“查询分析器”(2)建立与MS-SQL Server 的连接,如图8-2 所示。图 8-2 与 SQL Server 进行连接(3)选择希望连接的MS-SQL S

31、erver 命名管道的名称,如图8-3 所示。(4)输入 SQL Server 上的帐号与密码,如图8-4 所示。名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 39 页 -第 8 章Transact-SQL 语法基础221 图 8-3 选择希望连接的SQL Server 图 8-4 输入帐号与密码完成与 SQL Server 连接的查询分析器。图 8-5 完成与SQL Server 的连接在完成了与SQL Server 连接之后,接着笔者将以本书范例系统所用的数据库“Trade”为范例,直接进行SQL Query 的测试;测试步骤如下所示:(1)改变数据库名称,将数据库更改为

32、“Trade”,如图 8-6 所示。图 8-6 选择希望操作的数据库名称名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 39 页 -ASP 与 SQL 网站数据库程序设计222(2)输入希望执行的SQL Query 程序代码,如图8-7 所示。图 8-7 输入 SQL Query 并且执行(3)SQL Query 执行之后的结果如图8-8 所示。图 8-8 执行的结果(4)检查在SQL Query 执行之后,系统所产生的信息内容,如图8-9 所示。图 8-9 显示执行 SQL Query 的过程中,所产生的信息名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 39

33、 页 -第 8 章Transact-SQL 语法基础223 同样的道理,当您的SQL Query 程序内容有误时,系统会将错误的信息显示在“Messages”窗口内,作为修正SQL Query 程序的参考。8-5 Transact-SQL 语句语法SQL 是 Structure Query Language 结构化查询语言的缩写,通过SQL 语句的执行,可以对数据库内容(表及记录)进行修改或查询。由于在许多数据库程序语言内都会支持SQL 语言,因此对SQL 语法有基本的认识非常重要。不过并非每一个SQL 语句在任何数据库软件中都可以运行,其实大部分的数据库软件都是属于部分支持SQL 语言,而非

34、完全支持。且每个软件所支持的范围也不一定相同,因此在使用特殊的SQL 语句前,最好先确定数据库软件是否支持该语句。基本上SQL 语言可分为两类,一类是与数据定义有关的称为DDL(Data Define Language),另一类则是与表内的记录存取有关的称为DML(Data Manipulation Language:将在下一节详细说明)。SQL 的 DDL(Data Define Language)语言,是处理与数据库内数据有关的语句。它的指令范围包含自定义数据类型、新增表、修改表、建立表索引、设置 Primary Key 等动作。不过一般来说,有关数据库的设置,通常是在数据库建立时直接在数

35、据库软件中设置完成,反而较少会采用这种利用SQL DDL 语言执行的方式,而且这些 DDL 无法通过Microsoft Jet 数据库引擎来完成。常用的 DDL 语言包含有Create Table 语句、Drop Table 语句及 Alter Table语句。8-5-1Create Table语句Create Table 语句是在数据库内新增一个表;同时,也可设置表的索引。其语法格式如下所示:CREATE TABLE 数据库名称.拥有人.|拥有人.表名称(|字段名称 AS computed_column_expression|:=CONSTRAINT constraint_name 名师资料

36、总结-精品资料欢迎下载-名师精心整理-第 17 页,共 39 页 -ASP 与 SQL 网站数据库程序设计224|PRIMARY KEY|UNIQUE ,.n )Create Table 表名称(字段名称数据类型 (字段长度)NOT NULL With COMPRESSION|With COMP 索引 ,字段名称数据类型 (字段长度)NOT NULL索引 ,CONSTRAINT 多字段索引 范例程序:EX08-01.sql 例如:您可以利用下列的SQL 语言,在数据库中建立一个名为“产品基本信息”的表。图 8-10 执行Create Table前的系统状态图 8-11 执行 Create Ta

37、ble 后的系统状态名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 39 页 -第 8 章Transact-SQL 语法基础225 请注意,在 Create Table执行完成之后,上图中左方的“Object Browser”窗口并不会自动更新。因此,如果希望立即看到新增之后的结果时,请先选择“Trade”数据库,并且按下“F5”键,更新“Object Browser”窗口的内容。程序内容CREATE TABLE 产品基本信息(产品代号 VARCHAR(5)NOT NULL,产品名称 VARCHAR(10)NOT NULL,产品类别 VARCHAR(5)NOT NULL,Con

38、straint pk_product Primary Key (产品代号)程序说明上述范例程序的内容部分,其数据字段说明如下。表 8-12 范例程序的数据说明字段名称数据类型数据长度允许空白索引产品代号Varchar 5 不允许主索引产品名称Varchar 10 不允许无产品类别Varchar 5 不允许无8-5-2Alter Table 语句如果表的内容不符合规划者的要求,可以使用Alter Table 语句,对数据库内现存的表内容进行修改。一般来说这个语句可以执行的功能包含了“增加表字段”、“修改表的索引设置”以及“Primary Key(Foreign Key)设置”等;使用的语法格式如

39、下所示。ALTER TABLE 表名称 ALTER COLUMN 字段名称 新的数据类型 (precision ,scale )COLLATE NULL|NOT NULL|ADD|DROP ROWGUIDCOL|ADD 名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 39 页 -ASP 与 SQL 网站数据库程序设计226|column_name AS computed_column_expression ,.n|WITH CHECK|WITH NOCHECK ADD ,.n|DROP CONSTRAINT constraint_name|COLUMN column ,.n|C

40、HECK|NOCHECK CONSTRAINT ALL|constraint_name ,.n|ENABLE|DISABLE TRIGGER ALL|trigger_name ,.n 范例程序:EX08-02.sql 在“产品基本信息”表中,增加一个字段“产品单位”。图 8-12 执行增加字段之前的系统状态图 8-13 执行增加字段之后的系统状态名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 39 页 -第 8 章Transact-SQL 语法基础227 程序内容alter table 产品数据 add 产品单位 char(6)程序说明新增字段名称之后,原有的表内容将更改为如表

41、8-13 所示的数据结构。表 8-13 改变后的表内容字段名称数据类型数据长度允许空白索引产品代号文字5 不允许主索引产品名称文字10 不允许无产品类别文字5 不允许无产品单位文字6 允许无范例程序:EX08-03.sql 将上述范例程序“EX08-02.sql”中,将产品单位的数据类型,从char(6)更改为 varchar(16)。图 8-14 执行修改字段之前的字段状态图 8-15 执行修改字段之后的字段状态名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 39 页 -ASP 与 SQL 网站数据库程序设计228 程序内容alter table 产品基本信息 alter c

42、olumn 产品单位 varchar(16)程序说明在执行本段程序代码之后,会将原来的字段属性(char(6))更改为Varchar 数据类型并且长度设置为16 个字符。范例程序:EX08-04.sql 删除一个已经存在的字段名称。图 8-16 执行字段删除之前的表状态图 8-17 执行字段删除之后的表状态程序内容alter table 产品基本信息 drop column 产品单位名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 39 页 -第 8 章Transact-SQL 语法基础229 程序说明字段名称之后,原有的表内容将更改为如表8-14 所示的数据结构。表 8-14

43、更改后的表内容字段名称数据类型数据长度允许空白索引产品代号文字5 不允许主索引产品名称文字10 不允许无产品类别文字5 不允许无8-5-3Drop Table 语句Drop Table 语句的功能是将一个现存于数据库内的表删除,其所使用的语法与格式如下所示:Drop Table 表名称范例程序:EX08-05.sql 删除“Trade”数据库中的“产品基本信息”表。图 8-18 执行 Drop Table 之前的数据库状态在执行上述的Drop Table 语句之后,Query Analyzer 将会从“Trade”数据库中删除一个名为“产品基本信息”的表,这段语句执行结果如图8-19 所示。名

44、师资料总结-精品资料欢迎下载-名师精心整理-第 23 页,共 39 页 -ASP 与 SQL 网站数据库程序设计230 图 8-19 执行 Drop Table 之后的数据库状态程序内容drop table 产品基本信息8-6 数据处理语法(DML)SQL 的 DML(Data Manipulation Language)语言主要是处理数据库中与记录内容有关的动作;同时,根据执行的指令动作是否会更改表存储的记录内容,可将DML 指令分为两类。一种是会使表内的记录产生异动的,如记录的添加、修改及删除等动作,这种会更改表记录内容的SQL 语法又称为Active Query Language,执行A

45、ctive Query Language 时只能作用于单一表上,且不会返回信息。常用的Active Query Language 包含有Insert 语句、Delete 语句以及Update 语句。另一种则是不会更改表记录内容的指令,如查询动作,常用的指令有Select 语句。不同于Active Query Language 只能作用于单一表,执行这种查询指令可以同时作用于多个表中,而且执行完毕后,会返回符合查询条件的结果记录集合(Recordset)。8-6-1Select语句Select 语句是最常使用到的SQL 语言,利用Select 语句的执行可以对表的记录作查询、统计。Select

46、语句的语法如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共 39 页 -第 8 章Transact-SQL 语法基础231 SELECT predicate *|table.*|table.field1 AS alias1,table.field2 AS alias2,.FROM tableexpression,.IN externaldatabase WHERE.GROUP BY.HAVING.ORDER BY.WITH OWNERACCESS OPTION 其中各部分说明如表8-15 所示。表 8-15 语句中各部分的说明部分语句Predicate 以 下 所 列 语

47、句 之 一:ALL,DISTINCT,DISTINCTROW或TOP。可以使用predicate 来限制返回的记录的数量,如果没有指定语句,其默认值为ALL*从特定的单个或多个表中选取全部的字段Table表的名称,此表中包含已被选取的记录的字段field1,field2包含了要撷取数据字段的名称。如果数据包含一个以上的字段,它们将被依序撷取alias1,alias2使用作为字段名的名称,以代替在table 中原有的字段名Tableexpression包含了要撷取的数据的单个或以上的表的名称externaldatabase包含了tableexpression 中的表的数据库的名称,如果这些表不存

48、在于目前的数据库中由上述的Select 语句可以发现可用的关键词非常多,必须先了解这些关键词所代表的意义以及使用方式,才能善用这些关键词查询所需的数据。1.FROM 子句指定表或查询,且该表或查询包含了存放在SELECT 语句中的字段。因此,From 子句与Select 语句的搭配,可以说是最精简的Select 语句,通过Select 及 From 两个关键词的设置来取得表中的数据。Select 字段名称 ,字段名称 From 表名称其中,From 关键词是设置来源表名称,这是Select 语句执行的第一步,名师资料总结-精品资料欢迎下载-名师精心整理-第 25 页,共 39 页 -ASP 与

49、 SQL 网站数据库程序设计232 使用时可以设置使用一个或多个表,而表名称间以逗号分隔。Select 关键词是设置要取得数据的字段名称,这个关键词会在Select 语句的最后一步执行,在搜寻结果中取出所需的字段内容,设置的字段名称以逗号分隔,如果要取得表上的所有字段,可直接用“*”表示。范例程序:EX08-06.sql 通过执行下列的Select 语句之后,可以从“Trade”数据库中将“产品基本信息”表的所有记录,同时取出“产品名称”以及“产品类别”两个字段的内容。程序代码与执行结果如下所示:程序内容SELECT 产品名称,类别编号FROM 产品基本数据;图 8-20 执行 Select

50、语句之后的查询结果2.Select All 与 Select Distinct 在 Select 之后可加上一个关键词ALL或 DISTINCT,ALL(默认)代表显示所有符合的记录内容,而Distinct 则是采用非重复显示数据的模式。例如在“Trade”数据库中,执行下列查询指令,可以从“产品基本信息”表中取出“类别编号”字段的内容。范例程序:EX08-07.sql 使用“Select ALL”取得字段内所有的内容,会返回2 条记录。SELECT ALL 类别编号FROM 产品基本信息;使用 Select Distinct 语句,将不重复取得字段内的数据,故只会返回1 条记录。名师资料总结

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁