数据库update语句 用 T-SQL语句完成下列题目

数据库期末考试复习题及答案(1)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据库期末考试复习题及答案(1)
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用3下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩93页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢SQL之T-sql 语句操作数据库 - 半醒半梦半浮尘 - 博客园
        用SQL语句操作数据库
在上一次的话题中我们谈到了怎么使用数据库,说到了数据库的基本用法.
不过只是仅限于一些简单的操作,so 如果你不想被人说--"你们只是动动鼠标操作就可以了!
没什么技术含量,那么今天就带你一起告别'雏鸟时代'吧!"
在打开SQL时都要先从服务打开算起,那么我们就一装到底!
使用cmd命令来打开我们的服务器 :net start mssqlserver
使用cmd命令来关闭我们的服务器 :net stop mssqlserver
那么首先来带大家了解下SQL语句的作用.
SQL语言是针对数据库而言的一门语言,他可以创建数据库,创建数据表,可以针对数据库的数据进行增,删,减,改,查等操作, 可以创建视图,存储过程,可以赋予用户权限等..
下面我们将详细学习SQL语言.
首先介绍下SQL的组成..
SQL语言主要由一下几部分组成:
DML:(数据操作语言):用来插入,修改和删除数据库中的数据.
DDL:(数据定义语言):用来建立数据库,数据库对象和定义其列,大部分是以CREATE开头的命令.
DQL:(数据查询语言):用来对数据库中的数据进行查询.
DCL:(数据控制语言):用来控制数据库组件的存取许可,存取权限等.
SQL中的运算符:
与前面所学的java 和c#一样 & &数据库也同样需要运算符 ,并且它们之间的关系
也是大同小异的 & & 数据库中的算术运算符,赋值运算符和比较运算符和以前一样,
不过值得一提的
是在sql中的比较运算符中有点小区别:'!='这个符号是不等于对吧?
不过这个符号在sql-92中却是非标准的!
那么在sql中不等于到底是什么呢? & &它是'&&'这个运算符!
在T-SQL中的逻辑运算符是怎么样的呢?
'AND' & & &当且仅当两个布尔表达式都为true时,返回true
'OR' & & & &当且仅当两个布尔表达式都为false时,返回false
'NOT'  &对布尔表达式的值取反,优先级别最高
在这里也为大家出了一个小小的题目来考考大家:
not(性别='男') and (年龄&=18 年龄&=45)
大家可以吧答案在下方的回复栏里回复给我,期待大家的答案呦~
那么接下来回归正题,带大家真正的装一把...
--调取对应表
select * from 表名
在上一期的课程中,我们都会用编辑表的前200行来给表中插入数据,
这样看起来是不是有点小繁琐呢?
那么在这里就教给大家一招,使用insert插入数据
 insert into 表名 (列明列表)
 values(值列表)
在为表插入数据中就不可避免的会遇到一些错误,那么在遇到这样的情况后,我们不要慌,仔细查看爆出的错误
到底是因为什么才会出错,找到问题的原因从根上来解决问题.....在这里引用下上一章的!
数据库基本语法规则!
在sql中我们通过用:
insert into 目标表
* from 原表
语句来将表中的数据附加到目标表中
into 目标表(不存在)
新添加一个目标表
在学会了基本的向表中插入语句后,我们在来探讨下一个问题:怎么向数据库中添加多条数据?
那么接下来就告诉大家一个大神器!
通过union关键字合并数据并进行插入
union语句用于将两个不同的数据或查询结果组合成一个新的结果集
insert Student(SName,SGrade,SSex)
  select '小明',7,1 union
  select '张三',5,0 union
  select '李四',3,1
那么在学会了在数据库中增加数据后,在来了解下怎么更新数据库
在sql中数据的更新时经常的事情,使用T-SQL可以进行数据更新
1 update 表名 set = 更新值
2 where [更新条件]
使用T-SQL删除数据
delete [from] 表名
[where&删除条件&]
在学生信息表中删除姓名为'小明'的数据
delete from Students
where SName
接下来带大家了解下truncate table删除数据
truncate table删除表中的所有行,但是表的结构,列,约束,,索引等不会被改动,
truncate table不能用于有外键约束引用的表,这样情下,需要使用truncate 语句.
既然truncate和delete都有删除的意思,那么我们在实际的操作中到底该选择谁呢?
这就需要来了解下他们之间的区别
delete和truncate区别?
01.delete 后可以跟where条件,而truncate不行
02.delete删除数据的时候会记录日志,而truncate不会
03.delete删除表中所有数据库,id编号不会从1开始,而truncate会。
注意!注意!
在对数据库的更新和删\删改的时候一定不要忘记在其后加上where限定语句,不然你会死的很惨~]
那么看完今天的小文是不是赶脚原来sql也是这么的高大上呢?!~
OK今天的知识小分享就到这里了,您的支持就是我坚持下去的动力!
阅读(...) 评论()我的图书馆
一、基础知识题
(一)填空题
1、在一个表中主键的个数为___ 1_ ______个。
2、企业管理器是Microsoft SQL Server程序组中的程序之一,是管理________和________的主要工具。
3、触发器执行时生成的两个临时表为____ deleted _________和____insereted________。
4、以SP__作为首部的存储过程称为____系统存储过程______________。
5、命令&truncate table的功能是___ 清空表中的内容 ____________。
6、通过外键约束可以为相关联的两个表建立联系,实现数据的__________完整 性。
7、SQL Server 2000的文件包括:____ 数据文件_ ________和____日志文件__________。
8、模糊查询符号&%&代表&___ _ 零个或者多个任意字符的字符串__ _____&,符号_&代表意思是&______ 任意单个字符 _________。
9、对数据进行统计时,求最大值的函数是___ MAX () ______。
10、视图是从其它_____ 表 ___________________或视图导出的虚拟表。
11、在使用Create Index&语句创建簇索引时,需要使用的关键字__ clustered_ ______。
12、关系模型中一般讲数据完整性分为三类:__ 实体完整性__ _____、_&& 参照完整性 ____、__ 用户自定义完整性 ________。
13、创建视图用___ with encryption_ ____________参数使视图的定义语句加密。
14、SELECT语句中去除重复记录的命令是_ _distinct_ ______________。
(二)选择题
1、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是(&&&&&&&)。 (A)聚集索引&&&(B)非聚集索引&&&(C)主键索引&&&&(D)唯一索引
2、SELECT语句中与HAVING子句通常同时使用的是(& C &&)子句。
A.ORDER BY&&&&&&& B.WHERE&&&&&&&&&&&& C.GROUP BY&&& D.无需配合
3、在SQL Server 2000中,当数据表被修改时,系统自动执行的数据库对象是(&&& B &&&&)。
(A)存储过程& &&(B)触发器&&&&(C)视图&&&&(D)其他数据库对象 4、新安装SQL Server后,默认有六个内置的数据库,其中的两个范例数据库是Pubs和(&& A&&&&)。 (A)master&&&(B)NorthWind&&&&(C)msdb&&&&(D)bookdb 5、对视图的描述错误的是:(&&&&&) (A)&是一张虚拟的表 (B)&在存储视图时存储的是视图的定义 (C)&在存储视图时存储的是视图中的数据 (D)&可以像查询表一样来查询视图
二、应用题
(一)用T-SQL语句完成下列题目(3小题,每小题5分、共15分)
1 、 用T-SQL语句创建一个如下要求的数据库。
创建一个名字为Readbook库包含一个数据文件和一个日志文件,逻辑文件名为Readbook_data,磁盘文件名为Readbook_data.mdf,文件初始容量为2MB,最大容量为10MB,文件递增容量为1MB,而事务日志文件的逻辑文件名Readbook_log,磁盘文件名为Readbook_log.ldf,文件初始容量为1MB,最大容量为5MB,文件递增量为1MB(数据库创建在D:\SERVER文件夹下)
use & master
if & DB_ID & ( N'Readbook' ) & is & not & null & drop & database & Readbook
create & database & Readbook
name = Readbook_data ,
filename = 'D:\SERVER\Readbook_data.mdf' ,
size = 3 ,
maxsize = 10 ,
filegrowth = 1
name = Readbook_log ,
filename = 'D:\SERVER\Readbook_data.ldf' ,
size = 3 ,
maxsize = 5 ,
filegrowth = 1
2、在Readbook数据库中添加一个新的事务日志文件,逻辑文件名为Readbook2_log,&磁盘文件名为Mybase2_log.ldf,文件初始容量为2MB,最大容量为10MB,文件递增容量为1MB。
alter & database & Readbook
add & file
name = Readbook2_log ,
filename = 'D:\SERVER\Mybase2_log.ldf' ,
size = 3 ,
maxsize = 10 ,
filegrowth = 1
3、删除新添加的事务日志文件Readbook2_log。
USE & master ;
ALTER & DATABASE & Readbook
REMOVE & FILE & Readbook2_log ;
(二)用T-SQL语句完成下列题目
1 、 用T-SQL语句创建一个如下图所示的数据表,表名为students,建在名为ks的数据库中:
数据类型及长度
只能输入“男”或“女”
唯一性约束
默认值为”计算机系”
create & database & ks
create & table & students
学号 & char ( 8 ) &&& primary & key ,
姓名 & char ( 10 ) & not & null,
性别 & char ( 2 ) & not & null & Check ( 性别 = ' 男 ' or & 性别 = ' 女 ' ),
身份证号 & char ( 18 ) & not & null & unique ,
系别 & char ( 20 ) & not & null & default & ' 计算机系 ' ,
总学分 & tinyint
2、向上面的表Students中插入一个‘出生年月’字段,数据类型为datetime。
alter & table & students
add & 出生年月 & datetime
3、将Students表中所有姓王的学生的系别改为‘信息技术系’。
update & students & set & 系别 = ' 信息技术系 ' & where & 姓名 = ' 王 %'
4、删除Students表中所有1985年出生的男学生信息。
delete & from & students & where & 性别 = ' 男 ' & and & 出生年月 = year ( '1985' )
(三)根据下列数据库中表的结构,回答问题(5小题,每小题5分,共25分)
学生: XS(学号char(8) primary key, 姓名char(8), 班级char(10), 性别char(2), 出生日期datetime, 出生城市char(10), 入学成绩tinyint) 课程: KC(课程号char(6) primary key, 课程名char(20)) 学生选课信息: CJ(学期char(2), 学号char(8) references学生(学号), 课程号char(6) references课程(课程号), 成绩tinyint check(成绩>=0 and&成绩<=100)) 1、&查询入学成绩排名前十的同学的学号、姓名和成绩。
select & top&
, 姓名 , 成绩
& cj & join & xs &
order & by
2、&计算男女生人数。
use & cjgl
select && count (*) & , sex & as & 人数 & from & student && group & by & sex
3、&统计每个人的平均成绩在85分以上同学的平均成绩。
select &学号 , AVG ( grade ) as & 平均成绩 & from & cj & group & by &学号& having & AVG ( grade )> 85
4、&查询未选修”JAVA”课程的学生的基本情况。
& from & cj & where && cj
& 课程号 &
& 课程号 &
& 课程名 &
!= 'java' ))
& 学号 & not & in
& 课程号 &
& 课程号 &
= 'JAVA' ))
5、&查询全部学生的学号,姓名,课程号,课程名,成绩。
select & xs . 学号 , studentname & , kc . courseID , &kc . coursename , grade & from & xs & join & cj
on & xs . & 学号 = cj . & 学号 join & kc && on & kc & . &课程号 = cj . &课程号
三、程序设计题目(每题10分,共10分。)
1. 在数据库JXGL中的teachers中创建一个触发器,如果添加的教师的工资小于1000,则拒绝插入该记录。(假设每次只插入一条记录即可)(所用到的表结构如下:teachers(tno,tname,dept,pay)其中TNO代表教师编号,TNAME代表教师姓名,DEPT代表教师系别,PAY代表教师的工资)
use & jxgl
create & trigger & tri_insert
on & teachers
after && insert
declare & @pay & tinyint
select & @pay = pay & from & inserted
if & @pay < 1000
print & ' 工资太低 '
rollback & transaction
2.&设已经存在如下数据库CJGL,表结构与二(三)题目相同,编写代码创建触发器Tg,当向CJ表插入一条记录时,检查该记录的学号在XS表中是否存在,检查课程号在KC表中是否存在,若有一项为否,则不允许插入。
use & cjgl
Create & trigger & trig_appeA
after & insert
if & exists( & select & * & from & inserted & a & where & a . 学号 & not & in( select & b . 学号 & from & xs & b ) & or
a . 课程号 & not & in( select & c . 课程号 & from & kc & c ))
create & trigger
& trig_appeA
after & insert
& @stuID &
& @courseID &
@stuID = 学号 , @courseID = 课程号
& inserted
print '学生或课程不存在,不允许插入!'
rollback & transaction
TA的最新馆藏数据库T-SQL语言_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据库T-SQL语言
上传于|0|0|文档简介
&&SQLServer中的各种sql语句的详细用法,该学习笔记记录了对MSSql中各种对象的语句操作,与大家分享,希望对大家有帮助
你可能喜欢}

我要回帖

更多关于 数据库语句 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信