SQL Server上机练习

合集下载

sql server经典练习题

sql server经典练习题

sql server经典练习题SQL Server是一种关系型数据库管理系统,被广泛应用于企业和个人的数据管理。

熟练掌握SQL Server的使用和编程技巧对于数据库开发人员至关重要。

本文将介绍一些SQL Server的经典练习题,帮助读者巩固和提升SQL Server的技术能力。

1. 查询表中所有的列名和数据类型在SQL Server中,我们可以使用以下语句查询表中所有的列名和对应的数据类型:```sqlSELECT COLUMN_NAME, DATA_TYPEFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_NAME = 'YourTableName'```将上述代码中的"YourTableName"替换为你需要查询的表名,即可获得相应的结果。

2. 查询表中的前N条数据有时候我们只需要查看表中的前几条数据,可以使用以下语句实现:```sqlSELECT TOP N *FROM YourTableName```将上述代码中的"N"替换为你需要查询的条数,"YourTableName"替换为你需要查询的表名。

3. 查询表中符合某个条件的数据要查询表中符合某个条件的数据,可以使用以下语句:```sqlSELECT *FROM YourTableNameWHERE Condition```将上述代码中的"YourTableName"替换为你需要查询的表名,"Condition"替换为你需要的条件。

例如,要查询表中年龄大于18岁的员工信息:```sqlSELECT *FROM EmployeeWHERE Age > 18```4. 对表进行排序我们可以使用ORDER BY子句对表中的数据进行排序。

以下是一个示例:```sqlSELECT *FROM YourTableNameORDER BY ColumnName ASC|DESC```将上述代码中的"YourTableName"替换为你需要查询的表名,"ColumnName"替换为你需要排序的列名,"ASC"表示升序排列,"DESC"表示降序排列。

sqlserver上机练习题

sqlserver上机练习题

sqlserver上机练习题SQL Server上机练习题SQL Server是一种关系数据库管理系统(RDBMS),被广泛应用于各种企业级应用程序中。

为了能够更好地熟练使用SQL Server,以下是一些上机练习题,帮助您巩固和提升SQL Server的技能。

1. 创建数据库:请创建一个名为"Company"的数据库,用于存储公司员工和部门的信息。

2. 创建表:在"Company"数据库中创建两个表,名为"Employees"和"Departments"。

员工表(Employees)应包含以下列:- 员工ID(EmployeeID):整数类型,主键。

- 员工姓名(EmployeeName):字符串类型,最大长度为50。

- 岗位(Position):字符串类型,最大长度为50。

- 部门ID(DepartmentID):整数类型,外键。

部门表(Departments)应包含以下列:- 部门ID(DepartmentID):整数类型,主键。

- 部门名称(DepartmentName):字符串类型,最大长度为50。

3. 插入数据:向"Employees"表和"Departments"表中插入一些示例数据,确保每个表至少有3条记录。

4. 更新数据:将"Employees"表中ID为1的员工的岗位更改为"经理"。

5. 删除数据:从"Employees"表中删除ID为2的员工。

6. 查询数据:请编写SQL查询语句,执行以下操作:- 检索"Employees"表中所有员工的姓名和岗位。

- 检索"Departments"表中所有部门的名称。

- 检索"Employees"表中岗位为"经理"的员工的姓名和岗位。

SQL server上机考试试题

SQL server上机考试试题

SQL server上机考试试题
设你的学号为:nnnnnnnn
设你的姓名为:XXX
请用你的学号、姓名替换下文中的nnnnnnnn 和XXX。

编写一段脚本,完成如下功能:
1、查询数据库系统的软件版本信息。

2、判断数据库db_nnnnnnnn 是否存在?存在,则删除之。

3、创建数据库db_nnnnnnnn, 主数据文件保存在d:\,初始容量为2M。

4、在数据库db_nnnnnnnn中创建表tbl_student,指定主键,并插入数据。

5、在数据库db_nnnnnnnn中创建表tbl_course,指定主键,并插入数据。

6、在数据库db_nnnnnnnn中创建表tbl_score,指定主键,外键,并插入数据。

表结构与数据如下:
7、创建函数func_nnnnnnnn,以学号为参数,求出学号中最后两个字符,转化为整型数
据,并返回之。

8、创建存储过程proc_nnnnnnnn,参数为学号,根据学号查询出结果:姓名、所学课程
名、课程分数。

9、创建登录名:log_ nnnnnnnn,口令为666,在db_nnnnnnnn中创建用户名usr_nnnnnnnn。

10、授予:用户名usr_nnnnnnnn对存储过程proc_nnnnnnnn的执行权限。

sql server 练习题

sql server 练习题

sql server 练习题SQL Server是一种关系型数据库管理系统,广泛用于存储和管理大量结构化数据。

为了帮助大家熟练掌握SQL Server的使用,以下是一些练习题,涵盖了SQL Server的常见操作和语法。

通过完成这些练习题,你可以增强对SQL Server的理解和应用能力。

第一题:创建数据库在SQL Server中,创建数据库使用CREATE DATABASE语句。

请根据以下要求创建一个名为"Company"的数据库:要求:1. 数据库的字符集为UTF-8;2. 数据库的校对规则选择Chinese_PRC_CI_AS。

解答:```CREATE DATABASE CompanyCOLLATE Chinese_PRC_CI_AS;```第二题:创建表格在创建数据库后,我们需要创建表格来存储具体的数据。

请根据以下要求创建一个名为"Employees"的表格:要求:1. 表格包含以下字段:EmployeeID(整数类型,主键),LastName (字符串类型),FirstName(字符串类型),Age(整数类型),Salary(浮点数类型);2. 字符串类型的字段长度分别为50个字符;3. 浮点数类型的字段保留两位小数。

解答:```CREATE TABLE Employees(EmployeeID INT PRIMARY KEY,LastName NVARCHAR(50),FirstName NVARCHAR(50),Age INT,Salary FLOAT(2));```第三题:插入数据在创建表格后,我们需要往表格中插入数据。

请根据以下要求向"Employees"表格中插入一条数据:要求:EmployeeID为101,LastName为"Smith",FirstName为"John",Age为30,Salary为5000.00。

SQL Server 上机考试题

SQL Server 上机考试题

SQL Server 上机考试题一、数据库(表)的创建1、利用企业管理器(或查询分析器)创建一个软件学院学生管理系统的数据库RJXY06,要求:(1)含有一个数据文件,存入C盘,初始大小2MB,自动增长幅度为10%;(2)日志文件存入D盘,初始大小2MB。

2、系统对学生成绩进行管理,其中包含有学生、课程两个实体及两者的联系,通过E_R图分析,它们对应的属性分别有:(1)学生情况(学号,姓名,班级代号,班级名称,性别,出生日期,身高,家庭所在地,家庭人均月收入,是否团员)(2)课程档案(课程号,课程名称,总学时)(3)选课及成绩(学号,课程号, 课程名称,平时成绩, 考试成绩, 考试日期)2.1 如果按上述创建数据表,利用规范化理论判断其是否满足3NF?如果不满足,请修改。

2.2 利用查询分析器在RJXY06中创建数据表,要求:(1)为每个字段设计合理的数据类型;(2)为数据表定义正确的主键;(3)对学生情况表中的至少一个非主属性,定义约束。

2.3利用企业管理器建立表之间的联接(即关系图),并保存。

二、数据表的基本操作和用户权限1、在RJXY06中创建3个用户U1,U2,U3;创建1个角色R1。

要求:(1)利用企业管理器(或查询分析器)实现:U1,U2,U3均属于R1,授予R1有SELECT各个表的权限。

(2)分别授予U1有INSERT各个表的权限;授予U2有UPDA TE各个表的权限;授予U3有DELETE各个表的权限。

2、表的添加、修改和删除操作用户U1,U2,U3分别利用查询分析器登录,实现其中一个表的添加、修改和删除操作,并查询进行验证。

3、基本查询(1)查询学生的学号、课程号和总成绩(平时成绩*0.3+考试成绩*0.7)(2)查询学生性别='女' 并且家庭所在地='北京'的学生学号,姓名,性别,家庭所在地(3)查询学生姓名中包含有'梅'的学生情况(4)查询课程总学时IS NULL的课程档案情况(5)查询学生平时成绩在80到90之间的学号、课程号、平时成绩(6)查询选课及成绩表中的平时成绩(不要重复)(7)查询平时成绩为前5名的学号、课程号和平时成绩三、高级查询1、查询选课及成绩表中平均考试成绩、最高考试成绩;2、按学号统计学生的平均考试成绩;3、按学号统计学生的平均平时成绩,并且分数在85分以上;4、按学号统计学生的平均考试成绩,并且显示明细分类;5、实现3个表的内联接;注意与左外联接//右外联接//完全联接//交叉联接的区别;6、利用子查询实现:查询学生考试成绩>90的学生姓名、家庭所在地等;四、索引、视图、存储过程、备份、转换、自动化工作1、按姓名对学生情况表建立索引,并利用索引进行查询2、要求只能查询学生学号、姓名、班级代号等,不允许查询出生日期,利用视图实现3、建立存储过程实现两个整数的和4、利用企业管理器(或查询分析器)实现RJXY06的全备份,每周自动执行一次5、利用DTS将学生情况表转换为EXECEL表,每5分钟自动执行一次。

SQL Server上机练习

SQL Server上机练习

练习一1、启动“服务管理器”,利用服务管理器停止、暂停、启动本机的SQL Server服务2、启动“企业管理器”查看已经注册的SQL Server服务器及其属性信息3、利用企业管理器访问Pubs数据库:查看该数据库的对象,如表、视图、存储过程、默认和规则等。

4、启动“查询分析器”,熟悉查询分析器的界面,在查询分析器下使用两种方法改变当前数据库。

5、新建一个SQL Server组6、尝试搜索局域网中的其他SQL SERVER服务器,并将其注册到本地,加入到Step 5中建立的组中7、删除Step 6中新建的注册,并将Step 5中新建的组删除练习二1、在企业管理器中利用图形界面工具新建一个数据库studentsdb,设置其参数如下:数据文件的初始大小为3M,最大为15M,增长方式为每次2M;日志文件的初始大小为2M,最大大小无限制,增长方式为递增5%;2、在查询分析器中,编写SQL语句创建数据库Studentsdb1,不指定参数,创建完成后去企业管理器查看系统为其制定的各项参数。

3、利用图形界面工具修改数据库Studentsdb1的上述参数4、在查询分析器中,编写SQL语句创建数据库Studentsdb2,参数如下:a)数据文件逻辑名为stu2b)物理文件为d:\db\stu2.mdf5、在查询分析器中,编写SQL语句创建数据库Studentsdb3,参数如下:a)数据文件逻辑名为stu3b)物理文件为d:\db\stu3.mdfc)初始大小为2M,递增方式为1M,最大10M6、在查询分析器中,编写SQL语句创建数据库Studentsdb4,参数如下:a)数据文件逻辑名为stu4,物理文件为d:\db\stu4.mdf;初始大小为2000KB,递增方式为10%,最大9000KBb)日志文件逻辑名为stu4log;物理文件为d:\db\stu4.ldf;初始大小1M,递增方式为5%,大小不限制7、在查询分析器中,编写SQL语句创建数据库Studentsdb5,参数如下:a)数据文件逻辑名为stu5,物理文件为d:\db\stu5.mdf;初始大小为4000KB,其大小不可自动增长8、利用企业管理器删除数据库Studentsdb1,Studentsdb2,Studentsdb39、编写SQL语句删除数据库Studentsdb4,Studentsdb5,Studentsdb610、如果希望在上面建立的每个数据库中都包含表test,如何快速建立这些表?练习三1、在数据库studentsdb中创建三张表,分别如下:2、在企业管理器中,将表Student_info的学号设为主键5、在企业管理器对上述各表进行如下修改a)将course表的“课程编号”改为非空b)将grade表的“分数”改为real数据类型c)将Student_info表的“姓名”改为varchar(10),非空d)为Student_info表的“性别”设置默认值为“男”6、在企业管理器中修改学号为0001的同学的各科成绩7、编写SQL语句修改项目管理课程的学分,将其改为38、编写SQL语句修改所有男同学的备注,将其备注统一改为“篮球队成员”9、将马东的出生生日改为1979-10-1,身高改为1.7610、将所有同学的所有课程统一加5分11、在企业管理器中删除成绩表中肖海燕的所有成绩12、使用SQL语句删除成绩表中马东的管理学原理的成绩13、使用SQL语句删除表Course。

自考Sql srever 2000上机操作练习详解

自考Sql srever 2000上机操作练习详解

例 53 P162 使用 In 限定查询
例 55 P163 连接查询
先修改数据表,使“学生 13”表也有“KH”字段,当两个表有相同字段,才可以进行连接 查询
例 56 P163
例 8 (P143)数据表输入数据
再建一个数据表
数据表输入数据,字段名与后面的具体值一一对应。
打开数据表,查看数据是否输入。
例 10(P144)更新数据表数据
updatea ….set…可以将数据表中已有数据更新 将“学生”表“cj”字段全部加 1
例 28(P153)表达式查询
查询数据表“student”,显示字段“xm,平均成绩,出生年份”,其中平均成绩由字段 cj 除以 4, 用取整函数 round()取整后得出,出生年份先由函数 getdate()获得系统时间,再由函数 year() 截取年份,由年份减年龄获得出生年份。
例 58 P165 嵌套查询
2014 年 4 月真题
43.有班级和学生表,如题 43 图所示,根据表中的数据,写出下列 SQL 语句的运行结果。
(1)SELECT 学号,姓名 FROM 学生 WHERE 性别=“女”;
启动 SQL server 2000
例 1(P134)
默认路径下建立数据库“学生 10”
运行代码
清除窗口
指定路径建立数据库
例 2(P134)创建数据库
SQL server 2000 上机操作练习详解
为了与课本操作环境一致,在 E 盘创建“测试”文件夹,
在上机操作缺乏经验的情况下,一定严格按步骤操作,顺序不能颠倒,代码也不要发挥。出 现提示名字已经时,可以在原名字后加数字,以能成功运行为目的,必须出现示例中出现的 成功运行提示,否则需查找原因重新运行。

SQL Server上机练习四(S)

SQL Server上机练习四(S)

练习四
准备练习环境:
1.编写SQL语句创建数据库studentdb,使用默认的参数。

2.编写SQL语句,在studentdb中分别创建如下的三张表(中文说明不需
要创建),分别是stuinfo, course, grade,其结构如下:
stuinfo表
3.将data.xls中的数据分别导入到数据库studentdb中上述三张表中。


述环境准备完成后,编写SQL语句完成下列操作
1)修改项目管理课程的学分,将其改为3
2)编写SQL语句修改所有男同学的备注,将其备注统一改为“篮球队成员”
3)编写SQL语句将马东的生日改为1979-10-1,身高改为1.76
4)在Stuinfo表中查询所有学生的所有信息
5)在Stuinfo中查询每个学生的学号、姓名和生日(使用别名)
6)在Stuinfo中查询学号为0002号的学生的姓名和家庭地址
7)在Stuinfo中找出所有姓张的女同学的信息
8)查询名字是3个字且第二个字是‘卫’的学生的所有信息
9)在stuinfo表中先按性别升序排序再按照身高降序排序,检索学生的信息
10)找出grade表中前5条记录
11)在grade表中查找0003号课程分数在78到95范围内的学生学号和分数
12)在grade表中查询0002号课程的平均成绩
13)在grade表中查询课程编号为0001的最高成绩和最低成绩
14)在grade表中查询各门课程的课程编号及其平均成绩和最高成绩。

SQL Server 上机作业5

SQL Server 上机作业5

SQL Server 上机作业5 一、SQL Server常用函数总结如下表表3日期时间函数二、函数练习1.练习T-SQL中的函数,计算以下表达式的值1)显示字符‘X’、‘d’、‘5’的ASCII值2)显示十进制数65、99、53、32、27对应的字符3)将数值657.246按不同方式转换成字符串,如不输入宽度、宽度为5、宽度为8、宽度为5,小数位数3、宽度为3、宽度为2、宽度为7,小数位数2等4)对字符串“123ABCDEF456”从起始位置分别为2、3、4、5,截取长度分别为1、3、5、7,输出的4个结果是什么?5)ceiling(-567.75), floor(-567.75),round(-567.75,5) 6)exp(2), power(2.5,3),SIN(45),COS(60),TAN(45) 7)left(‘西安科技大学’,2)+right(‘信息管理’,2)8)按“XXXX 年XX 月XX 日星期X ”形式输出系统日期 9)求自己上大学到现在的天数 10) 计算自己毕业离校还有多少天、星期几?11) 计算表达式 12) 产生50-300之间的10个随机整数 13) 计算半径为8的圆面积、周长14) 计算字符串“西安科技大学信息管理08-1、2”的长度15)检索字符串“THIS IS A FISH !”中”IS ”第1次、第2次、第3次出现的位置2.函数与数据表的操作根据JBQK099、CJB099完成下列操作:1)将两个表中的“学号”修改成“自己专业学号前8位、后两位不变” 2)增加“班级”字段,取出“学号的第8位”修改成“X 班”3)将本专业“学号为奇数”的男生基本信息、学习成绩存入数据表odd_tab 中4)查询每个学生的学号、姓名、出生日期、年龄(姓名按“名 姓”、出生日期按“xx 年xx 月xx 日 星期x ”、年龄按“xx 岁”进行显示) 5)查询每个学号的信息,将学号、姓名、专业组成一列显示,学习成绩组成一列(按“高等数学:xx 大学英语:xx 数据库:xx 管理学:xx ”显示) 6)模拟显示自己的学习成绩,成绩为50-95之间的随机整数 7)添加年、月、日字段,用“出生日期”中的信息进行修改 8)按专业、班级统计女生管理学的平均、最高、最低分及人数; 9)查询前20个学生的学习成绩,按学号后3位升序排列 10)随机产生一个学号,并将信息修改为自己的相关信息3.视图基本操作1)创建视图,包括学号、姓名、性别、年龄、院系名称、所学专业、各门课程)12ln()78sin(|*56*235*78*3|02-++--e成绩;(视图名称用view1_自己学号后3位)2)查询本专业年龄在19-25间女生的信息;3)查询各专业女生大学英语的平均、最高、最低成绩;4)创建视图,包括学号、姓名、性别、所学专业、总成绩、平均成绩;(视图名称用view2_自己学号后3位)5)将本专业男生前10名的学习成绩存入数据表mal_10;6)查询各专业学习的排序情况;7)按院系、专业将平均成绩不及格的信息存入表pj_bjg中8)创建视图,包括学号、姓名、性别、出生日期、身份证号、院系名称、所学专业;(视图名称用view2_自己学号后3位)并通过视图完成:(1)向jbqk表(学号、姓名、性别、出生日期、身份证号、院系名称、所学专业)输入自己的相关数据;(2)将本专业学生的出生日期+2年,同时更新身份证号相应信息;9)查看所创建视图的依赖关系;10)用命令删除第3个视图。

《sqlserver初级教学资料》第五章上机

《sqlserver初级教学资料》第五章上机
正确。解决方案:检查SQL 查询语句是否正确,涉及到的表和字段 是否存在,数据类型是否匹配。
02
03
问题3
无法执行存储过程。解决方案:检查 存储过程是否存在,参数是否正确, 是否有执行权限。
对SQL Server的进一步学习建议
01 02 03 04
学习更多SQL语言特性和语法,包括子查询、联接、聚合函数等。
总结词
掌握插入、更新和删除数据的基本操作
VS
详细描述
在SQL Server中,可以使用INSERT INTO语句插入数据,使用UPDATE语句 更新数据,使用DELETE语句删除数据。 在插入数据时,需要指定要插入的列和相 应的值。在更新数据时,需要指定要更新 的列和新值。在删除数据时,需要指定要 删除的行或条件。
配置管理器设置
使用SQL Server配置管理器进行 必要的配置,如启动SQL Server 服务、设置登录模式等。
实验数据准备
数据源选择
选择合适的数据源,如SQL Server自带的数据样本或 外部数据源。
数据导入
使用SQL Server Management Studio或其他工具 将数据导入到实验数据库中。
表的创建与删除
总结词
掌握创建和删除表的基本操作
详细描述
在SQL Server中,可以使用CREATE TABLE语句创建新的表,使用DROP TABLE语句删除表。在创建 表时,需要指定表的名称、列名、数据类型等属性。在删除表时,需要确保表中没有数据或相关的触 发器、存储过程等对象。
数据插入、更新与删除
子查询
总结词
理解子查询的用途和执行顺序,掌握子查询在SELECT、FROM和WHERE子句 中的使用。

sql server 实操题

sql server 实操题

一、创建数据库1. 使用系统管理员登入SQL Server Management Studio(SSMS),在“对象资源管理器”中展开服务器,右键单击“数据库”。

2. 选择“新建数据库”,在弹出的对话框中输入数据库名称,设置数据库文件的路径和日志文件的路径。

3. 点击“确定”按钮,即可创建数据库。

二、创建表1. 在创建数据库的可以在“数据库”下右键单击,选择“新建查询”。

2. 在查询编辑器中输入创建表的SQL语句,如:```sqlCREATE TABLE Employee(emp_id INT PRIMARY KEY,emp_name VARCHAR(50),emp_age INT,emp_salary DECIMAL(10, 2));```3. 然后点击“执行”按钮,即可创建名为Employee的表。

三、插入数据1. 在查询编辑器中输入插入数据的SQL语句,如:```sqlINSERT INTO Employee (emp_id, emp_name, emp_age,emp_salary) VALUES (1, '张三', 25, xxx.00);INSERT INTO Employee (emp_id, emp_name, emp_age,emp_salary) VALUES (2, '李四', 28, xxx.00);```2. 然后点击“执行”按钮,即可向Employee表中插入数据。

四、查询数据1. 在查询编辑器中输入查询数据的SQL语句,如:```sqlSELECT * FROM Employee;```2. 然后点击“执行”按钮,即可查询Employee表中的所有数据。

五、更新数据1. 在查询编辑器中输入更新数据的SQL语句,如:```sqlUPDATE Employee SET emp_salary = xxx.00 WHERE emp_id = 2; ```2. 然后点击“执行”按钮,即可更新Employee表中的数据。

SQL Server上机课堂实践与习题及答案(完整)

SQL Server上机课堂实践与习题及答案(完整)

任务1 SQL Server系统软硬件安装配置课堂实践11.上网查询目前主流的关系型数据库系统及各自的特点?答:目前主流的关系型数据库系统有:桌面关系型数据库系统和网络关系型数据库系统。

桌面:优点:操作灵活,转移方便,运行环境简单,对小型网站的数据库处理能力还不错。

网络:优点:适合大容量数据和大容量网站的应用,在性能、安全、功能管理、可扩展性上要比桌面型数据库强很多,两者并非同级别的数据库,有些功能桌面型数据库甚至无法做到。

简单说,桌面关系数据库指单机版的DMBS,比如Access,FoxFro等。

网络型关系数据库和桌面型关系数据库相对,可以在多台机器上同时对数据库进行操作,包括查询,添加,修改,删除,网络关系型数据库的代表有SQL和Orade等。

2.上网查询并写报告:数据库系统的发展。

在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。

1.1.1. 人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算。

当时的硬件状况是:外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备;软件的状况是:没有操作系统,没有管理数据的软件;数据处理方式是批处理。

人工管理数据的特点如下:数据不保存应用程序管理数据数据不共享数据不具有独立性数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,这会进一步加重程序员的负担。

在人工管理数据阶段,程序与数据之间的一一对应关系可用图 1.1表示图 1.1. 人工管理阶段应用程序与数据之间的对应关系1.1.2. 文件系统阶段20世纪50年代后期到60年代中期,这是硬件方面已有了磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上,不仅有了批处理,而且能够联机实时处理。

用文件系统管理数据具有如下特点:数据可以长期保存由文件系统管理数据数据共享性差,冗余度大数据独立性差文件系统仍然是一个不具有弹性的无结构的数据集合,即文件之间是孤立的。

SQL-SERVER上机考试题

SQL-SERVER上机考试题

SQL-SERVER上机考试题泉州理⼯职业学院2015-2016学年第⼆学期期末考SQL SERVER数据库管理上机操作题班级:学号姓名成绩说明:1、五答题的题⽬的答案直接写在相应题⽬后⾯,其余的内容直接保存在数据库中。

2、提交的内容包括数据库⽂件还有该WORD⽂档。

统⼀建⽴⼀个⽂件夹以学号+姓名⽅式命名。

题⽬:⼀、在指定的服务器上创建数据库JYxxxx(其中xxxx为⾃⼰的学号,创建⽅法和数据库参数⾃定)。

⼆、在JYxxxx数据库中创建如下的表结构:1.学⽣情况表(StudentInfos)结构2.课程表(CourseInfos)结构3.学⽣与课程表(StudentCourseInfos)结构三、数据完整性1、在StudentInfos中,要求性别只能输⼊0或1。

2、在CourseInfos中,要求学分不能⼩于1,且不能⼤于103、在StudentCourseInfos中,要求成绩分数在0到100之间(包含0和100)四、使⽤语句向数据库JYxxxx的StudentInfos表、CourseInfos表和StudentCourseInfos表中插⼊或修改成如下数据:学⽣情况表(StudentInfos)课程表(CourseInfos)学⽣与课程表(StudentCourseInfos)五、视图操作1.创建视图V_SCORE1,使其显⽰计算机专业学⽣的所有基本信息(性别⽤中⽂标识,例如:1则显⽰男),并保证以后对该视图的修改都要满⾜专业为“计算机”这个条件。

2.创建视图V_SCORE2,通过V_SCORE2查看各个专业所有课程的平均成绩,结果格式为:专业平均成绩…………六、数据库关系图创建视图D_BASE七、以下题⽬均在JYxxxx(学⽣管理)数据库中完成。

并写出操作SQL语句(⼀)简单查询1.查询StudentInfos表中各个同学的姓名、⽣⽇和性别。

答:select S_name,S_birth,S_sex from StudentInfos2.查询StudentInfos表中所有同学的学号、姓名,结果中各列的标题分别指定为num,name。

sql server考试题

sql server考试题

一、选择题(1-25没题1分26-30每题2分共35分)1)假定有一个用户表,表中包含字段:userid (int)、username (varchar)、password(varchar)、等,该表需要设置主键,以下说法正确的是()。

(选择两项)a)如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。

b)此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。

c)此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。

d) 如果采用userid作为主键,那么在userid列输入的数值,允许为空。

2)Microsoft SQL Server 2000 在安装的时候就创建的示例用户数据库包括()。

(选择两项)a)Pubsb)Masterc)Northwindd)Msdb3)以下()语句从表TABLE_NAME中提取前10条记录。

(选择一项)a)select * from TABLE_NAME where rowcount=10b)select TOP 10 * from TABLE_NAMEc)select TOP of 10 * from TABLE_NAMEd)select * from TABLE_NAME where rowcount<=104) 从“产品”表里查询出价格高于产品名称为“一次性纸杯”的产品的记录,此SQL语句为()。

(选择一项)a)SELECT * FROM 产品WHERE 价格>‘一次性纸杯’b)SELECT * FROM 产品WHERE 价格>(SELECT * FROM 产品WHERE 产品名称>’一次性纸杯’c)SELECT * FROM 产品WHERE EXISTS 产品名称=’一次性纸杯’d)SELECT * FROM 产品WHERE 价格>(SELECT 价格FROM 产品WHERE 产品名称=’一次性纸杯’5)查找student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码()。

SQL-server上机练习题-何

SQL-server上机练习题-何

含触发器、存储过程、游标一、触发器练习1==========示例说明inserted,deleted表的作用。

程序清单如下:create table sc(sno char(10),cno char(2),score real)GoCREATE TRIGGER tr1ON scFOR INSERT, UPDATE, DELETEASPRINT ‘inserted表:’Select * from insertedPRINT ‘deleted表:’Select * from deletedGo2========创建一个触发器,在s 表上创建一个插入、更新类型的触发器。

程序清单如下:CREATE TRIGGER tr_sON sFOR INSERT, UPDATEASBeginDECLARE @bh varchar(6)SELECT @bh =inserted.sno FROM inserted /*获取插入或更新操作时的新值(学号)*/ End3===============使用INSERT触发器INSERT触发器通常被用来更新时间标记字段,或者验证被触发器监控的字段中数据满足要求的标准,以确保数据的完整性。

例9-3建立一个触发器,当向sc表中添加数据时,如果添加的数据与s表中的数据不匹配(没有对应的学号),则将此数据删除。

程序清单如下:CREATE TRIGGER sc_ins ON scFOR INSERTASBEGINDECLARE @bh char(5)Select @bh=Inserted.sno from InsertedIf not exists(select sno from s where s.sno=@bh)Delete sc where sno=@bhEND二、存储过程练习1=========创建一个带有SELECT语句的简单过程,该存储过程返回所有员工姓名,Email地址,电话等。

sql server2000上机考试模拟题

sql server2000上机考试模拟题

SQL SERVER2000上机考试模拟题(1)姓名: 学号 考试机位 成绩1. 在E 盘建立文件夹,并将文件夹命名为“sql_学号上机考试”,用“sql_姓名”为数据库名在文件夹中建立数据库,数据文件名为“sql 考试_学号.mdf ”,日志文件名为“sql 考试_学号.ldf ”,大小各为2M 。

(10分) 2. 在数据库中创建如下数据表:(30分)Tea (Srb tea 表中的tnoZcb (支出表 数值单位为人民币:元) tno 必须为tea 表中的tno3. 根据数据表完成如下操作:(30分)(保留源代码或设计视图,备教师评分)(7选3) (1) 设计视图view1,统计“计算机”教师的工资条,即:收支明细,及纯收入。

(2) 查询 “工资”低于平均工资的教师信息。

(3) 按部门统计教师的平均收入。

(4) 用生成表查询归档教师的收支并计算银行的存储金额。

(计算银行的存储金额=各项收入之和-所得税-各项支出)(5) 用删除查询删除生成表中的信息(6) 根据上述表中信息查询所有姓王的教师信息及其收支情况(支出要包括所得税) (7)用更新查询,将工资低于平均工资的教师的工资提高10%。

4. 权限管理(20分)(保留源代码或设计视图,备教师评分)(1) 创建“会计”用户,授予srb 表上的添加、删除、修改、查询的权限,view1视图的查询权限,以及授予别人该权限的权利。

(2) 创建“计算机管理”用户,用“会计”用户授予“计算机管理”用户在view1上查询的权限。

5. 存储过程(10分)创建存储过程,实现按姓名查询该教师的收入总计,支出总计和纯收入,如果没有输入教师姓名,则查询所有教师的这些信息。

SQl_Server上机实验_答案_华中科技大学

SQl_Server上机实验_答案_华中科技大学

实验二4.create database studbSp_helpdb5. alter database studbmodify file(name=studb,size=5MB,maxsize=20MB,filegrowth=1MB)7. ALTER DATABASE studbMODIFY NAME=student_db8. DROP DATABASE student_db实验三5. USE students_dbGOCREATE TABLE grade(学号char(4),课程编号char(4),分数decimal(5))E studentdbGOINSERT gradeV ALUES(‘0004’,’0001’,’80’)9. USE studentdbGOALTER TABLE curriculumALTER COLUMN 课程编号char(4) NOT NULL 10. USE studentdbGOALTER TABLE gradeALTER COLUMN 分数real11. USE studentdbGOALTER TABLE student_infoALTER COLUMN 姓名。

不会12. USE studentdbGODELETE FROM gradeWHERE学号='0004'13. USE studentdbGOUPDATE grade SET 分数=90WHERE 学号='0003' and 课程编号='0005'14. USE studentdbGOALTER TABLE grade ADD 备注V ARCHAR(20) NULL15. USE studentdbGODROP TABLE grade实验四2(1)select 学号,姓名,出生日期from student_info(2)select 姓名,家庭住址from student_info where学号='0002'(3)select 学号,姓名from student_info where 性别='男'3(1)select 学号,分数from grade where分数between 80 and 90(2)select avg(分数) from grade where 课程编号='0003'(3)select 课程编号,count(课程编号) as 人数from grade group by 课程编号(4)select 姓名,出生日期from student_info order by出生日期desc(5)select 学号,姓名from student_info where 姓名like '张%'4(1)SELECT 姓名,出生日期FROM student_info WHERE性别=(SELECT 性别FROM student_info WHERE 姓名='刘卫平')(2)SELECT 学号,姓名,性别FROM student_info WHERE student_info.学号IN (SELECT 学号FROM grade WHERE 课程编号IN ('0002', '0005'))(3)SELECT 课程编号,分数FROM grade WHERE 学号='0001' AND 分数>ANY(SELECT 分数FROM grade WHERE 学号='0002')(4)SELECT 课程编号,分数FROM grade WHERE 学号='0001' AND 分数>ALL(SELECT 分数FROM grade WHERE 学号='0002')5(1)SELECT student_info.学号,姓名,分数FROM student_info,gradeWHERE student_info.学号=grade.学号AND 分数BETWEEN 80 AND 90(2)SELECT student_info.学号,姓名,分数FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号INNER JOIN curriculum ON 课程名称='C语言程序设计'(3)SELECT student_info.学号,student_info.姓名,curriculum.课程名称,grade.分数FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号and 性别='男'INNER JOIN curriculum on curriculum.课程编号=grade.课程编号(4)SELECT student_info.学号,max(grade.分数)FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号group by student_info.学号(5)SELECT student_info.学号,sum(grade.分数)FROM student_infoleft outer JOIN grade ON student_info.学号=grade.学号group by student_info.学号(6)第一步insert gradevalues ('0004','0006','76')第二步SELECT curriculum.课程编号,curriculum.课程名称,count(grade.学号) as 选修人数FROM graderight outer JOIN curriculum on curriculum.课程编号=grade.课程编号group by curriculum.课程编号,curriculum.课程名称6 unionselect 课程编号as u_编号,课程名称as u_名称from curriculum7delete from totalgradewhere 总成绩is null实验五1ALTER TABLE student_infoADDCONSTRAINT student_idxPRIMARY KEY CLUSTERED (学号)ALTER TABLE curriculumADDCONSTRAINT curriculum_idxPRIMARY KEY CLUSTERED (课程编号)2无3CREATE NONCLUSTERED INDEX grade_index ON grade(分数)4CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号)5sp_helpindex grade6无7sp_rename 'grade.grade_index','grade_ind', 'INDEX'8DROP INDEX grade.grade_indsp_helpindex grade9execute sp_fulltext_database 'enable'10execute sp_fulltext_catalog 'FT_stu','create'exec sp_fulltext_table'student_info','create','FT_stu','PK_student_info'11execute sp_fulltext_column 'student_info','家庭住址','add'execute sp_fulltext_table 'student_info','activate'12execute sp_fulltext_catalog 'FT_stu','start_full'13SELECT 姓名,家庭住址FROM student_infoWHERE CONTAINS(家庭住址,'25号')1415无16create view v_stu_casselect student_info.学号,student_info.姓名,grade.课程编号from student_info inner joingrade onstudent_info.学号=grade.学号select 学号,姓名,课程编号from v_stu_c where 学号='0003'17create view v_stu_casselect student_info.学号,student_info.姓名,curriculum.课程名称,grade.分数from student_infoinner join grade on student_info.学号=grade.学号inner join curriculum on grade.课程编号=curriculum.课程编号select 学号,姓名,课程名称,分数from v_stu_g where 学号='0001'18alter view v_stu_casselect grade.学号,姓名,count(grade.课程编号)as 课程数目from student_info inner join grade on student_info.学号=grade.学号group by grade.学号,姓名19ALTER VIEW v_stu_i(学号,姓名,性别)AS SELECT 学号,姓名,性别FROM student_info20sp_rename v_stu_i,v_stu_info21insert into v_stu_ivalues ('0015','陈婷','女')22delete from v_stu_gwhere 学号='0015'23update v_stu_gset 分数=84 where 姓名='刘卫平'and 课程名称='高等数学' 24drop view v_stu_c,v_stu_g实验六1(1) SELECT*INTO stu_phone FROM student_infoALTER TABLE stu_phone ADD 电话号码CHAR(7)NULL(2) CREATE rule phone_ruleAS@phone LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'(3) sp_bindrule phone_rule,'stu_phone.电话号码'(4)应修改括号中的第三个字符串为7位0~9数字3Create rule stusex_ruleAs @stusex in (‘男’,’女’)sp_bindrule stusex_rule,'stu_phone.性别'4Sp_help stusex_ruleSp_helptext stusex_ruleSp_rename stusex_rule,'stu_s_rule'5sp_unbindrule'stu_phone.性别'Drop rule stu_s_rule6(1) --创建日期型默认对象df_dateCREATE default df_dateAS '2006-4-12'GO----创建字符型默认对象df_charCREATE DEFAULT df_charas 'unknown'GO--创建货币型默认对象df_moneyCREATE DEFAULT df_moneyAS $100GO(2) CREATE TABLE stu_fee(学号char(10)NOT NULL,姓名char(8)NOT NULL,学费money,交费日期datetime,电话号码char(7))(3) Sp_bindefault df_money,'stu_fee.学费'GOSp_bindefault df_date,'stu_fee.交费日期'GOSp_bindefault df_char,'stu_fee.电话号码'GO(4) INSERT INTO stu_fee(学号,姓名)values('0001','刘卫平')INSERT INTO stu_fee(学号,姓名,学费)values('0001','张卫民',$120)INSERT INTO stu_fee(学号,姓名,学费,交费日期)V ALUES('0001','马东',$110,'2006-5-12')(5) sp_unbindefault 'stu_fee.电话号码'drop DEFAULT df_charsp_unbindefault 'stu_fee.学费'gosp_unbindefault 'stu_fee.交费日期'godrop DEFAULT df_date,df_moneygo8 ALTER TABLE student_info ADD 院系CHAR(7)Gocreate default stu_d_dfas '信息院'gosp_bindefault stu_d_df,'student_info.院系'gosp_unbindefault 'student_info.院系'godrop default stu_d_dfgo9(1)create table stu_con(学号char(4)constraint pk_sid primary key,姓名char(8) constraint uk_name unique,性别char(2) constraint df_sex default '男',出生日期datetime constraint ck_beday check (出生日期>'1988-1-1'),家庭住址varchar(50))(2) insert stu_convalues('0009','张晓东','','1989-4-6','')goinsert stu_convalues('0010','李梅','女','1983-8-5','')goinsert stu_convalues('0011','王强','','1988-9-10','')goinsert stu_convalues('0012','王强','','1989-6-3','')go所影响的行数为1 行)服务器: 消息547,级别16,状态1,行1INSERT 语句与COLUMN CHECK 约束'ck_beday' 冲突。

SQL Server上机练习

SQL Server上机练习

一:创建一个book数据库,其主数据文件逻辑名book_data,物理文件名book_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB,文件的存放路径为“d:\sql\test”;数据库日志文件逻辑名称为book_log,物理文件名为book_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%,文件存放路径为“d:\sql\test”。

二:现有图书管理数据库的三个关系模式:图书(总编号,分类号,书名,作者,出版单位,单价)读者(借书证号,单位,姓名,性别,职称,地址)借阅(借书证号,总编号,借书日期)1.利用SQL Server 2005 SQL 语句创建图书管理库和图书、读者和借阅三个基本表的表结构;出版单位默认值设为高等教育出版社对借阅表‘借书证号’和’总编号’建立外键:2.利用SQL Server 2005 在三个表中分别插入以下所给元组:三:完成如下查询:用SQL 完成如下查询:1)找出姓李的读者姓名和所在单位。

2)查找高等教育出版社的所有图书及单价,结果按单价降序排序。

2)查找价格介于10 元和20 元之间的图书种类,结果按出版单位和单价升序排序。

5) 查找书名以计算机打头的所有图书和作者。

6)查找科学出版社图书的书价最高的书的信息。

7)查找所有借了书的读者的姓名、书名及所在单位。

8)利用SQL语言修改借阅表中借书证号112总编号是445501的借书时间为1997-4-19,然后删除借阅表中借书证号为118的记录。

四、视图具体要求:建立视图是所有借高等教育出版社的书的读者信息五:数据库复制、分离和附加数据库具体要求:在本地服务器上复制数据库book到e:\sql,文件名为book_new.六、备份恢复数据库。

具体要求:备份数据库book到备份设备bookdisk上,包括完全备份、差异备份、事务日志备份。

七:使用导入导出向导将Excel数据导入到SQL Server使用导入导出向导将SQL Server数据导出到TXT文件具体要求:需新建Excel文件、TXT文件八. 添加服务器成员角色具体要求:需新建用户账号(SQL Server和WINDOWS账号test,密码123456)九. 添加数据库成员角色具体要求:需新建用户账号(SQL Server和WINDOWS账号test) 十.T-SQL和存储过程具体要求:使用T-SQL语句进行程序设计来实现10的阶乘,将最终的结果打印输出。

sqlserver上机试题

sqlserver上机试题

SQLSERVER2000上机试题上机题1:一:创建一个数据库,并创建两个数据库表。

(50分)1、创建一个名为scxh_db的数据库.(10分)2、在scxh_db数据库中创建scxh_reg(id,username,password,tel)和scxh_news(newsid,title,content,add_date,hits)两个数据库表,数据类型自定。

(30分)3、导出scxh_db数据库,生成sqlscript脚本并存放到考生文件夹中(通过查询分析器设计的直接保存代码到考生文件夹中)。

(10分)二:存储过程设计。

(50分)1:在scxh_db中编写一个名为scxh_pro的存储过程,要求实现查询scxh_db中scxh_reg表的所有记录。

(30分)2:在scxh_db中编写一个名为class_pro的类属存储过程(即系统存储过程),内容自定。

(10分)3:备份scxh_db数据库,并把备份文件拷贝到考生文件夹。

(10分)。

上机题2:一:创建一个数据库,并创建三个数据库表.1、以自己的姓名(拼音)创建一个数据库.(10分)2、在数据库中创建如下三个表,并输入内容sc1、把course表中课程号为3的课程的学分修改为3。

(10分)2、在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。

(10分)3、在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名和性别。

(10分)4、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录.(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。

)(30分)IF EXISTS (SELECT name FROM sysobjectsWHERE name = ’my_trig' AND type = 'TR')DROP TRIGGER my_trigcreate trigger my_trigon studentfor deleteasdelete scfrom sc,deletedwhere sc.id=deleted.id上机题3:一:创建一个数据库,并创建三个数据库表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一:创建一个book数据库,其主数据文件逻辑名book_data,物理文件名book_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB,文件的存放路径为“d:\sql\test”;数据库日志文件逻辑名称为book_log,物理文件名为book_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%,文件存放路径为“d:\sql\test”。

二:现有图书管理数据库的三个关系模式:
图书(总编号,分类号,书名,作者,出版单位,单价)
读者(借书证号,单位,姓名,性别,职称,地址)
借阅(借书证号,总编号,借书日期)
1.利用SQL Server 2005 SQL 语句创建图书管理库和图书、读者和借阅三个基本表的表结构;出版单位默认值设为高等教育出版社对借阅表‘借书证号’和’总编号’建立外键:
2.利用SQL Server 2005 在三个表中分别插入以下所给元组:
三:完成如下查询:用SQL 完成如下查询:
1)找出姓李的读者姓名和所在单位。

2)查找高等教育出版社的所有图书及单价,结果按单价降序排序。

2)查找价格介于10 元和20 元之间的图书种类,结果按出版单位和单价升序排序。

5) 查找书名以计算机打头的所有图书和作者。

6)查找科学出版社图书的书价最高的书的信息。

7)查找所有借了书的读者的姓名、书名及所在单位。

8)利用SQL语言修改借阅表中借书证号112总编号是445501的借书时间为1997-4-19,然后删除借阅表中借书证号为118的记录。

四、视图
具体要求:建立视图是所有借高等教育出版社的书的读者信息五:数据库复制、分离和附加数据库
具体要求:在本地服务器上复制数据库book到e:\sql,文件名为book_new.
六、备份恢复数据库。

具体要求:备份数据库book到备份设备bookdisk上,包括完全备份、差异备份、事务日志备份。

七:使用导入导出向导将Excel数据导入到SQL Server
使用导入导出向导将SQL Server数据导出到TXT文件
具体要求:需新建Excel文件、TXT文件
八. 添加服务器成员角色
具体要求:需新建用户账号(SQL Server和WINDOWS账号test,密码123456)
九. 添加数据库成员角色
具体要求:需新建用户账号(SQL Server和WINDOWS账号test) 十.T-SQL和存储过程
具体要求:使用T-SQL语句进行程序设计来实现10的阶乘,将最终的结果打印输出。

具体要求:建立触发器,在读者表里删除某学生信息时,对应的借阅表中此学生信息也删除。

相关文档
最新文档