200 likes | 460 Views
数据库原理与 SQL Server. 第 9 课 编写程序. 第 9 课 设计程序. 目标: 掌握 Transact-SQL 程序设计语言 了解 Transact-SQL 程序设计方法. 4.1 Transact-SQL 语言基础. SQL : Structured Query Language , RDBMS 标准语言. 数据定义 (DDL):. CREATE 、 ALTER 、 DROP. SELECT 、 INSERT 、 DELETE 、 UPDATE. 数据操纵 (DML):. T-SQL. GRANY 、 DENY 、 ROVOKE.
E N D
数据库原理与SQL Server 第9课 编写程序
第9课 设计程序 目标: • 掌握Transact-SQL程序设计语言 • 了解Transact-SQL程序设计方法
4.1 Transact-SQL语言基础 SQL:Structured Query Language ,RDBMS标准语言 数据定义(DDL): CREATE、ALTER、DROP SELECT、INSERT、DELETE、UPDATE 数据操纵(DML): T-SQL GRANY、DENY、ROVOKE 数据控制(DCL): 附加语言元素: 变量、运算符、函数、流程控制语句 引例:求方程x2-3x+1=0的根
一、基本语句 注释语句 : --<注释文本> 或 /* <注释文本> […] */ 定义批处理结束语句 :GO 输出语句 :PRINT <表达式>
二、数据类型 整型: bigint(8)、int(4)、smallint(2)、tinyint(1) 数值 定点: decimal或numeric 实型 浮点: float(8)、real(4) 字符: char(1~8000)、varchar(变长)、text(>8000) 数据类型 datetime(1753-9999)、smalldatetime(1900-2079) 时间日期: money(8)、smallmoney(4) 货币: 二进制: bit(0/1)、binary、varbinary(变长)、image 自定义
三、变量 定义:DECLARE @<局部变量名> <数据类型> 局部变量 赋值:SET @<局部变量名>=<表达式> 作用域:批 变量 全局变量: 系统变量,以@@开头,称无参函数 实例查看SQL Server版本、服务器、服务名称等信息
四、运算符 1. 算术运算符:+、-、*、/、% 2. 字符串运算符:+(注意与算术加的区别) 3.关系运算符:=、>、<、>=、<=、<>、!=、!>、!< 4.逻辑运算符:not、and、or、between、like、in、 any、some、all、exists 5. 赋值运算符:=
五、函数 1.数学函数:sin(n)(正弦)、asin(n)(反正弦)、pi()(圆周率)、abs(n)(绝对值)、exp(n)(指数)、log(n)(对数)、power(n,m)(nm)、round(n,m)(四舍五入)、sign(n)(符号)、sqrt(n)(平方根)、rand([n])(随机数) 等 2.字符串函数:str(n,n1,n2)(数值转字符串)、len(s)(串长)、left(s,n)(左子串)、right(s,n)(右子串)、substring(s,n1,n2)(子串)、lower(s)(转小写)、upper(s)(转大写)、ltrim(s)(删除左空格)、rtrim(s)(删除右空格)、space(n)(产生空格)、REVERSE(s)(反转字符串)、charindex(s1,s2)(s1在s2中的起始位置)等 3.日期时间函数:getdate()、year(d)、month(d)、day(d)、datepart(datepart,d) (datepart日期类型)、dateadd(datepart,n,d)(日期加)、datediff(datepart,d1,d2) (日期减)等 实例 计算香港回归多少年、多少天,今天以后15个月是哪一天。 4.类型转换函数:cast(expression AS data_type) convert(data_type,expression[,style])
4.2 流程控制语句 顺序结构 选择结构 结构化程序 循环结构
一、定义语句块语句 语句格式: BEGIN <T-SQL语句>|<语句块> END
二、选择结构 1. 条件语句: IF <逻辑表达式> <T-SQL语句>|<语句块> [ELSE <T-SQL语句>|<语句块>] 实例根据分数输出考试等级 实例求3个整数中最大数 2.多路分支语句: CASE WHEN <逻辑表达式> THEN <表达式> […] ELSE <表达式> END 实例用CASE语句实现根据分数输出考试等级 实例 根据身份证号输出学生年龄 集合并 CASE语句作表达式
三、循环结构 1. 循环语句:WHILE <逻辑表达式> <T-SQL语句>|<语句块> 实例求1到100之间的奇数和 2. 中断语句 :BREAK 3. 短路语句 :CONTINUE 实例求100~200之间的所有素数
四、无条件转移语句 语句格式: GOTO <标号> 实例求10的阶乘
五、等待语句 语句格式: WAITFOR DELAY '<时间间隔>'|TIME '<时间>' 实例设置等待一小时后执行查询 实例设置到十点整执行查询
六、返回语句 语句格式: RETURN [<整数表达式>] 返回值:0 执行成功 负数 失败
4.2 脚本文件 脚本:一条或多条T-SQL语句 。 脚本文件 :保存脚本的文件 ,扩展名.sql。 如库结构、表结构文件。 执行:查询分析器、osql、isql。
一、在查询分析器中使用脚本 查询分析器→文件→保存 查询分析器→文件→打开 实例 将求素数的脚本保存为脚本文件
二、在osql中使用脚本 osql:查询SQL Server 2000的交互式命令行工具。 语法格式: osql [-S<服务器名>] [-U<用户名>] [-P<密码>] [-i<脚本文件>] 实例使用osql查询数据库student表c的所有信息 实例使用osql执行脚本文件
作业 第四章 习题 1、2、3、4、5、6、7、8
实训 实训名称:Transact-SQL程序设计 目的要求:掌握用Transact-SQL语句设计程序的方法 操作步骤: ① 启动查询分析器。 ② 用T-SQL编写程序,求前多少个自然数之和不超过5 000,并存储为脚本文件“<班级>_<学号>_1”。 ③ 用T-SQL语句编写程序,输出所有的水仙花数,并存储为脚本文件“<班级>_<学号>_2”。所谓水仙花数是指一个3位整数,其各位数字的立方和等于该数本身。 ④ 在osql中执行上述脚本文件。 ⑤ 完成实例4-1~4-9。