《数据库原理与应用》实验题目及答案 下载本文

内容发布更新时间 : 2024/6/2 20:45:51星期一 下面是文章的全部内容请认真阅读。

xyabc abcxy 学习学习学习

(6)select reverse('abcd')+space(1+2)+reverse('张三')

dcba 三张

(7)select str(3.45,4,1),str(12,6,2),'1+2='+ltrim(str(1+2)) ---- ------ -------------- 3.5 12.00 1+2=3

(8)select ascii('AB'),ascii('中'),char(65),char(97)

65 214 A a

(9)select lower('ABcdef'),UPPER('ABcdef')

abcdef ABCDEF

3.3 日期和时间函数

简称 系统日期 系统世界 日期 取年份 取月份 取日 getdate() getutcdate() year(日期表达式) month(日期表达式) day(日期表达式) 函数 功能 返回系统的当前日期时间 返回以世界时或格林威治时表示的 系统日期和时间 返回日期中的年份 返回日期中的月份 返回日期中的日 返回日期中指定部分对应的整数值 返回日期中指定部分对应的字符串 按参数返回日期1与日期2间的间隔值 日期部分值 datepart(日期参数,日期表达式) 日期部分串 datename(日期参数,日期表达式) 日期加值 日期间隔 dateadd(日期参数,数值,日期表达式) 返回按日期参数加上数值后的日期 datediff(日期参数,日期1,日期2) isdate() sysdatetime() sysdatetimeoffset() sysutcdatetime () switchoffset() todatetimeoffset() current_timestamp() 有些函数要指定日期参数,日期参数指出向日期中的哪一部分操作。日期参数如表3. 所示:

表3. 日期参数表 参数名称 year或yyyy month day day of year quarter week weekday hour

缩写 yy mm dd dy qq或q wk dw hh 取值范围 1753~9999 1~12 1~31 1~366 1~4 0~51 1~7 0~23 说明 年份 月份 月内日值 年内日值 季度 年内周数 星期几 时 41

minute second millisecond 【例3. 】日期和时间函数举例

mi ss ms 1~59 1~59 0~999 分 秒 微秒 (1)select getdate(),getutcdate()

2012-01-21 13:21:11.187 2012-01-21 05:21:11.187

(2)select year(getdate()),month('2012-3-8'),day('2012-3-8')

2012 3 8

(3)select datepart(yy,getdate()),datename(yy,getdate())+'年'

2012 2012年

(4)select dateadd(dy,5,'2012-5-28'),dateadd(mm,2,'2012-5-28') 2012-06-02 00:00:00.000 2012-07-28 00:00:00.000 -–增加(5)select datediff(wk,'2012-1-23','2012-2-23')

2天及2个月后的日期

4 --日期2012-1-23与日期2012-2-23之间相隔4周

3.4 聚合函数

聚合函数(又称为集合函数)常与select语句中的group by子句配合使用,对查询结果集合中的多个值项进行统计计算,并返回单个计算结果。聚合函数不能用在select语句的where子句中。常用的聚合函数如表3. 所示。

表3. 聚合函数

简称 计数 计数 求和 求平均 最大值 最小值 标准偏差 统计方差 函数 count({[all|distinct] 表达式|*}) count_big({[all|distinct] 表达式|*}) 功能 求集合中的项数,返回int型整数 求集合中的项数,返回bigint型整数 sum([all|distinct]数值表达式) 计算表达式中所有项的和 avg([all|distinct]数值表达式) 计算表达式中所有项的平均值 max([all|distinct]表达式) min([all|distinct]表达式) stdev(数值表达式) var(数值表达式) checksum() checksum_agg() binary_ checksum() grouping() grouping_id() 返回表达式中的最大项 返回表达式中的最小项 返回表达式中的所有值的统计标准偏差 返回表达式中的所有值的填充统计标准偏差 返回表达式中的所有值的统计方差 返回表达式中的所有值的填充统计方差 填充标准偏差 stdevp(数值表达式) 填充统计方差 varp(数值表达式) 42

3.5 元数据函数

简称

函数 功能 DB_ID( [ 'database_name' ] ) 返回数据库标识 (ID) 号。如果省略database_name, 则返回当前数据库ID DB_NAME(['database_id']) 【例3. 】元数据函数举例

返回数据库名称。若未指定id,则返回当前数据库名称 3.6 其他函数

简称

函数 cast(表达式 AS 目标数据类型[(length)]) convert(目标数据类型[(length)],表达式[,style]) columns_Updated() coalesce((表达式[ ,...n ] ) collationproperty(collation_name, property) current_User datalength(表达式) @@error formatmessage(msg_number, [ param_value [ ,...n ] ]) 【例3. 】其他函数举例 功能 将表达式的值转换为目标数据类型 将一种数据类型的表达式转换为另一种数据类型的表达式 返回varbinary位模式,它指示表或视图中插入或更新了哪些列 返回其参数中第一个非空表达式 返回指定排序规则的属性 返回当前用户的名称。等价于 USER_NAME() 返回用于表示任何表达式的字节数 返回执行的上一个 Transact-SQL 语句的错误号 根据sys.messages中现有的消息构造一条消息 43

3.7 配置函数

下列标量函数返回当前配置选项设置的信息: 简称 函数 @@datefirst @@dbts @@langid @@language @@lock_timeout @@max_precision @@nestlevel @@options @@remserver @@servername @@servicename @@spid @@textsize @@version 返回一周中的第一天 返回当前数据库最后使用的时间戳值 返回当前使用语言的本地语言标识符 (ID) 返回当前所用语言的名称 返回当前会话的当前锁定超时设置(毫秒) 返回 decimal 和 numeric 数据类型所用的精度级别 返回对本地服务器上执行的当前存储过程的嵌套级别 返回有关当前 SET 选项的信息 返回远程 SQL Server 数据库服务器在登录记录中显示的名称 返回运行 SQL Server 的本地服务器的名称 返回 SQL Server 正在其下运行的注册表项的名称 返回当前用户进程的会话 ID 返回textsize选项的当前值 返回当前的 SQL Server 安装的版本、处理器体系结构、生成日期和操作系统 功能 @@max_connections 返回 SQL Server 实例允许同时进行的最大用户连接数 所有配置函数都具有不确定性。这意味着即便使用相同的一组输入值,也不会在每次调用这些函数时都返回相同的结果。

【例3. 】配置函数举例

附录4 实验报告模板

《数据库原理与应用》实验报告

院名 学号 专业 姓名 年级 教师 班级 成绩 一、实验题目 二、实验环境 三、实验目的 四、实验内容 (一) 规定内容 (二) 自定内容

五、出现的问题及解决方法

44

附录5 实验报告范例

《数据库原理与应用》实验报告

院名 学号 专业 姓名 年级 教师 班级 成绩 一、实验题目

实验1 数据库的建立、修改与删除 二、实验环境

操作系统:Windows XP。

数据库管理系统:MS SQL Server 2000或MS SQL Server 2008。 三、实验目的

1.熟悉SQL Server 2000上机环境,学会SQL Server 2000“企业管理器”以及“查询分析器”的启动与退出。

2.掌握建立数据库的两种方法。

3.掌握查看和修改数据库的两种方法。 4.掌握删除数据库的两种方法。 四、实验内容

1. 在用户方便的存储空间上建立存放用户数据库的文件夹。本实验在F盘根目录下建立文件夹:F:\\SQL2008DB,再建立存放SQL源代码的文件夹:F:\\SQL2008DB\\T_SQL

2.利用界面方法创建学生课程数据库ST,参数如表1.1所示。

表1.1 ST数据库属性设置

文件组 文件 类型 逻辑文件名 ST_Data ST_log 物理文件名 F:\\SQL2008DB\\ ST_Data.mdf D:\\SQL2008DB\\ ST_log.ldf 初始 自动 最大 大小 增量 容量 3M 2M 1M 10% 不限制 增长 10M 主文件组 主数据 PRIMARY 文件 日志 文件 3.利用界面方法查看ST数据库的属性。

4.使用T-SQL语句建立学生-课程数据库ST,参数如表1.1所示。 --建立学生-课程数据库ST.sql USE master

/*IF EXISTS (SELECT * FROM master..sys.databases WHERE name = 'JXDB') sys.databases是系统数据库中主数据库master中的一个系统视图,透过该视图可查看

到系统中建立的所有数据库的有关信息。

检查系统中数据库JXDB是否已存在,可用以上的IF语句也可用以下较简单的IF语句。 */

IF DB_ID(N'ST') IS NOT NULL --若数据库ST已存在,

DROP DATABASE ST --则删除。 CREATE DATABASE ST ON

(NAME=ST_Data, --主数据文件逻辑文件名 FILENAME = 'F:\\SQL2008DB\\ST_Data.mdf', --物理文件名 SIZE = 3MB, --初始大小

45