实验四SQL语言(精选合集)

时间:2019-05-12 06:51:17下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《实验四SQL语言》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《实验四SQL语言》。

第一篇:实验四SQL语言

实验四 SQL语言——数据更新操作

2007-06-16 01:12:44|分类: 课程作业 |标签:数据更新操作sql语言|字号大中小 订阅

实验四 SQL语言——数据更新操作

三、实验条件与环境

1.通用PC机

2.PC机必须安装Windows 2000系列、Windows XP系列或Windows NT操作系统平台 3.PC机还须安装Microsoft SQL Server 2000 任意一版本(个人版、标准版、企业版)

4.最好有一台公用的SQL Server 2000 服务器

四、实验目的1.通过上机实验进一步加深对SQL数据更新(插入、修改及删除)语句的基本语法格式的掌

2.通过上机实验掌握单个元组插入操作的实现过程

3.通过上机实验掌握多个元组插入操作的实现过程

4.通过上机实验掌握单个元组修改操作的实现过程

5.通过上机实验掌握多个元组修改操作的实现过程

6.通过上机实验掌握单个元组删除操作的实现过程

7.通过上机实验掌握多个元组删除操作的实现过程

8.通过上机实验加深对更新操作时数据库中数据一致性问题的了解

9.通过上机实验加深对约束条件在数据更新操作执行中的作用问题的了解

五、实验要求

1.本实验所有实验内容要求在规定时间(2课时)内完成2.实验内容中涉及到的各更新操作均通过SQL语言来实现

3.本实验中各操作内容的执行均会更新当前数据库,为便于下一实验内容的顺利执行,请在每成功完成一个实验内容后重新导入初始状态下的实验数据库

4.实验完成后需要书写实验报告,本次实验报告需在下次实验课堂上上交

六、实验内容:

1.在S表中插入元组“s6,华誉,40,广州,02085268888”

2.在J表中插入元组“j8,传感器厂”

3.对每一个供应商,求他为各种工程供应零件的总数量,并将此结果存入数据库

4.将P表中PNO值为p6的元组的color属性值改为绿,weight属性值改为60

5.将SPJ表中前4个元组的qty属性值统一修改为300

6.将S表中city属性名含有“京”或“津”的相应status属性值增加100

7.将供应商s2为“一汽”工程项目所供应的零件数量修改为2000

8.将全部红色零件的颜色修改为浅红色

9.由s5供给j4的零件p6改为由s3供应,请在数据库中作必要的数据修改

10.在SPJ表中新增一列属性名为SDATE的属性列,对该表中的每一元组在SDATE属性列

上填上实验当时的日期和时间

11.删除所在城市为“广州”的供应商记录

12.删除所有零件名称中第一个字为“螺”字的零件记录,并在供应情况表中删除相应的记录

13.删除s3和s4两供应商为“三建”工程供应“螺母”或“螺丝刀”零件的相应供应情况数

据信息

七、实验总结:

数据更新操作(插入操作[INSERT]、修改操作[UPDATE]、删除操作[DELETE])是关系数据库系统中一种极为重要、数据更新能力强、使用灵活的数据操纵方式,此数据操作的使用不是完全独立的,而是和数据定义操作、数据查询操作有着紧密联系的。实验完成后,请同学们总结一下SQL语言在实现各种数据更新操作时与数据定义操作和数据查询操作两类操作之间的相互联系,通过深入总结,从而学会利用SQL语言实现较为复杂的数据更新任务。

实验四 SQL语言——数据更新操作

实验内容参考答案

六、实验内容

1.在S表中插入元组“s6,华誉,40,广州,02085268888”

use shiyan

go

insert

into s

values('s6','华誉',40,'广州','02085268888')

2.在J表中插入元组“j8,传感器厂”

use shiyan

go

insert

into j(jno,jname)

values('j8','传感器厂')

3.对每一个供应商,求他为各种工程供应零件的总数量,并将此结果存入数据库

use shiyan

go

create table TotalQTYofS(SNO char(4)not null unique,TotalQTY int);

insert

into TotalQTYofS

select sno,sum(qty)

from spj

group by sno;

4.将P表中PNO值为p6的元组的color属性值改为绿,weight属性值改为60

use shiyan

go

update p

set color='绿',weight=60

where pno='p6'

5.将SPJ表中前4个元组的qty属性值统一修改为300

use shiyan

go

update spj

set qty=300

from(select top 4 * from spj order by sno)as table1

where spj.sno=table1.sno

6.将S表中city属性名含有“京”或“津”的相应status属性值增加100

use shiyan

go

update s

set status=status+100

where city like '%京%' or city like '%津%

7.将供应商s2为“一汽”工程项目所供应的零件数量修改为2000

use shiyan

go

update spj

set qty=2000

where sno='s2' and jno=(select jno

from j

where jname='一汽')

8.将全部红色零件的颜色修改为浅红色

use shiyan

go

update p

set color='浅红'

where color='红'

9.由s5供给j4的零件p6改为由s3供应,请在数据库中作必要的数据修改

use shiyan

go

update spj

set sno='s3'

where sno='s5' and jno='j4' and pno='p6'

10.在SPJ表中新增一列属性名为SDATE的属性列,对该表中的每一元组在SDATE属性列

上填上实验当时的日期和时间

use shiyan

go

alter table spj

add SDATE datetime

update spj

set SDATE=getdate()

11.删除所在城市为“广州”的供应商记录

use shiyan

go

delete

from s

where city='广州'

12.删除所有零件名称中第一个字为“螺”字的零件记录,并在供应情况表中删除相应的记录

use shiyan

go

delete

from p

where pname like '螺%'

delete

from spj

where pno in(select pno

from p

where pname like '螺%')

13.删除s3和s4两供应商为“三建”工程供应“螺母”或“螺丝刀”零件的相应供应情况数据信息

use shiyan

go

delete

from spj

where(sno='s3' or sno='s4')and jno in(select jno

from j

where jname='三建')and pno in(select pno

from p

where pname='螺母' or pname='螺丝刀')

第二篇:SQL语言汇总

1.UPDATE MARK

SET 总分=语文+数学+英语

SELECT 准考证号,姓名,总分

FROM MARK

WHERE 语文>=75 AND数学>=75 AND 英语>=75 AND 语文+数学+英语>=240

ORDER BY 总分 DESC

UPDATE MARK

SET 修正分数=高考分数*1.3

WHERE 籍贯='云南' OR 籍贯='福建'

SELECT AVG(高考分数)as平均分

FROM MARK

GROUP BY 性别

SELECT *

FROM cj

WHERE 期中成绩>=80 OR 期末成绩>=80 ORDER BY 课程号 ASC

UPDATE cj

SET平均成绩=期中成绩*0.2+期末成绩*0.8

SELECT 书号,书名,作者

FROM gm

WHERE 书号 LIKE '理*' AND 单价>20 ORDER BY 单价 ASC

UPDATE gm

SET 金额=单价*数量

UPDATE Sale

SET 销售金额=销售数量*单价

UPDATE Wage

SET 实发工资=工资+奖金

SELECT 姓名,实发工资

FROM Wage

WHERE 姓名 LIKE '*辉'OR 姓名 LIKE ' *辉*' ORDER BY 年龄 DESC

SELECT 部门号, COUNT(*)as人数

FROM zhigong

GROUP BY 部门号

UPDATE kaoshi

SET平均成绩=笔试成绩*0.6+上机成绩*0.4

SELECT 考号,姓名,平均成绩

FROM kaoshi

WHERE 姓名 LIKE '黄*'

DELETE *

FROM mark

WHERE 学号='1003'

SELECT 学号,课程号,期末成绩

FROM mark

WHERE 学号 LIKE '*1'

ORDER BY 期末成绩 DESC

UPDATE fk

SET 超期罚款=单价*超期天数*0.005

SELECT *

FROM fk

WHERE 单价>=50 OR 超期天数>30 ORDER BY 超期罚款 DESC

UPDATE gp

SET 浮动盈亏=(市场现价-买入加个)*买入数量

SELECT 股票代码,买入时间,浮动盈亏 FROM gp

WHERE 股票代码 LIKE '6*' AND 浮动盈亏>0 ORDER BY 买入时间 ASC

UPDATE ah

SET 年龄=年龄+1

SELECT 寝室,COUNT(*)as 爱好球类人数 FROM ah

WHERE 爱好 LIKE '*球'

GROUP BY 寝室

UPDATE JHKC

SET 总价=单价*库存量

SELECT 设备编号,设备名称,单价

FROM JHKC

WHERE 库存量<300 AND 单价<500 ORDER BY 单价 DESC

UPDATE HCSK

SET 票价=600

WHERE 航班号=F807

SELECT 航班号,起飞日期,票价

FROM HCSK

WHERE 出发地='福州' AND 目的地='巴黎' ORDER BY 票价 ASC

第三篇:SQL语言

1.输出任意两个字符串变量的值(参考代码)

declare @v1 varchar(12),@V2 varchar(12)

set @v1='中国'

set @v2='你好!'

select @v1+@v2

2.为以下程序纠错

declare @v1 varchar(12),@V2 varchar(10)

set @v1='中国'

set @v2='你好!'

set @s='吗!'

select @v1+@v2+@s

3.运行以下代码,观察以下全局变量的功能

select 34@@connections 返回当前服务器的连接数目

select 1@@rowcount 返回上一条T-SQL语句影响的数据行数 select @@error返回上一条T-SQL语句执行后的错误号 select @@procid返回当前存储过程的ID号

select @@remserver 返回登录记录中远程服务器的名字 select @@spid返回当前服务器进程的ID标识

select @@version 返回当前SQL Server服务器的版本和处理器类型 select @@language 返回当前SQL Server服务器的语言

select @@connections

4.输入以下代码并理解其含意

bggin

if 3>5

select 'true'

else print 'false'

end

go

begin

if 'a'<'A'

select 'true'

else print 'false'

end

go

begin

if '张'>'李'

select 'true'

else print 'false'

end

go

begin

if getdate()>2008-10-10

print'true'

else print'false'

end

5.附加数据库student,并进行以下操作

use student

select * from xsda

以XSDa表为例,如果平均成绩高于75分,则显示“不错!”,否则,显示“加油呀!”。

declare @av1 char(12), @av2 char(12)

set @av1='不错!'

set @av2='加油!'

if(select avg(总学分)from xsda)>75

begin

select @av1

end

else

select @av2

编写一个程序,显示每一同学的成绩等级

select xh,zf,dj=

case

when zf>70 then '优秀'

when zf>65 then '良好'

when zf>=60 then '合格'

else '不合格'

end

from xsdn

6.求1-100偶数和(参考代码)

declare @i int,@s int/*定义变量*/

set @i=0/*变量赋初值*/

set @s=0

while @i<=100/*条件*/

begin

set @s=@s+@i/*累加求和*/

set @i=@i+2/*偶数*/

end

print @s

7.求10!

8.为以下程序纠错(求1-100的积)

declare @i int,@s int

set @i=0

set @s=0

while @i<=100 begin

set @s=@s*@iset @i=@i+2 end

print @s

第四篇:SQL语言以及SQL

SQL语言以及SQL*PLUS工具

1.SQL语言组成:

 数据查询语言(DQL):SELECT;

 数据操纵语言(DML):INSERT、UPDATE、DELETE;  事务控制语言(TCS):COMMIT、ROLLBACK;

 数据定义语言(DDL):CREATE、DROP、ALTER;

 数据控制语言(DCL):GRANT、REVOKE;

2.数据查询语言(DQL):

 一般格式:

1.SELECT [ALL|DISTINCT] <目标列表达式> [, <目标列表达式>]…

2.FROM <表名或者视图名> [, <表名或者视图名>]…

3.[WHERE <条件表达式>]

4.[GROUP BY <列名1> [HAVING <条件表达式>]]

5.[ORDER BY <列名2> [ASC|DESC];

 实例:

6.SELECT empno,ename FROM emp WHERE ename<>'a' order by empno;

3.数据操纵语言(DML):

 INSERT:

 一般格式:

7.INSERT

8.INTO <表名> [(<属性列1>[, <属性列2>]…)]

9.VALUES(<常量1>[, <常量2>]…);

 实例:

INSERT INTO emp(empno,ename)VALUES(1,’test1’);

 UPDATE:

 一般格式:

10.UPDATE<表名>

11.SET <列名>=<表达式> [,<列名>=<表达式>]…

12.[WHERE <条件>];

 实例:

13.UPDATE emp SET ename=’test2’ WHERE empno=1;

 DELETE:

 一般格式:

14.DELETE

15.FROM <表名>

16.[WHERE <条件>];

 实例:

DELETE FROM emp WHERE empno=1;

4.事务控制语言(TCS):

 COMMIT:

 说明:

5.6.7.8.17.放在DML之后,提交事务。 一般格式: 18.COMMIT; 实例: INSERT INTO emp(empno,ename)VALUES(1,’test1’);COMMIT; ROLLBACK:  说明: 19.放在DML之后,回滚事务。 一般格式: 20.ROLLBACK; 实例: INSERT INTO emp(empno,ename)VALUES(1,’test1’); ROLLBACK;课后练习(2小时):  用各种组合反复练习数据查询语言DQL;  用各种组合反复练习数据操纵语言DML;  和DML结合反复练习事务控制语言TCS。SQL*PLUS简介:  是Oracle数据库提供的用于和数据库交互的工具;  数据库管理员管理数据库的主要工具;  支持SQL-2和SQL-3标准;  支持Oracle PL/SQL语言;  支持一套Oracle公司定义的SQL*PLUS操纵语言。SQL*PLUS语言介绍:  不是标准语言;  可以缩写(一般取英文单词的前4位);  不用加分号;  分成数据库访问、输出格式设置、文本编辑、执行程序、环境设置、其他等几类。常用的SQL*PLUS命令:

 CONNECT(CONN):连接数据库:

21.CONN SCOTT/TIGER@FIS

 EXIT:退出SQL*PLUS;

 DESCRIBE(DESC):显示数据库对象的结构:

22.DESC emp

 SHOW:显示系统信息:

23.SHOW user

 EDIT:文本编辑;

 RUN(/):运行前一命令;

 SAVE:保存前一命令:

24.SAVE c:temptest.txt

 PASSWORD(PASSW):修改当前用户的口令;  SPOOL:将输出结果保存到本地硬盘上

SPOOL c:temptest.txt SELECT * FORM emp;SPOOL OFF

START(@):路径*.sql执行脚本 column 字段名 format a35set line 100

第五篇:SQL 语言

SQL语言

create database student

on primary

(name=student_data1,filename='c:student_data1.mdf',size=10M,maxsize=100M,filegrowth=10%)

filegroupstudent_group分组

(name=student_data2,filename='c:student_data2.ndf',size=10M,maxsize=100M,filegrowth=10%)

log on

(name=student_log1,filename='c:student_data1.ldf',size=10M,maxsize=100M,filegrowth=10%)

create table xi

(系编号 char(2)primary key,系名varchar(20))主码

insert into xi values('01','物理系')

insert into xi values('02','化学系')

select *from xi查询

create table student

(学号 char(11)primary key,姓名varchar(10),民族 char(2)default'汉',出生日期datetime ,奖学金 money check(奖学金<=8000), 系编号 char(2)foreign key references xi(系编号))

默认值,约束,外码

insert into student values('20090214201','马帅', '汉','1990-1-8',1500, '01')

insert into student values('20100214202','周伊','回' ,'1989-2-4',500,'02')

update student set 出生日期='1911-3-1'where 学号 ='20100214201'

更新数据

select* from student/ 3

alter table student add 性别 char(2)check(性别='男'or 性别='女')

增加列

update student set 性别 ='男' where 学号 ='20090214201' update student set 性别 ='女' where 学号 ='20100214202' select student* from student where left(学号,4)=’2009’ 查询大三学生的详细信息

create table kc

(课程编号 char(2),课程名varchar(20))

alter table kc alter column 课程编号 char(2)not null 修改字段

alter table kc addconstraint pk_kcprimary key(课程编号)加主码(加主码的字段不能为空)

insert into kc values('01','语文')

insert into kc values('02','数学')

insert into kc values('03','英语')

update kc set课程名 ='历史学' where 课程编号= '05' execute sp_rename '课程编号','课程名','column'

改名

create table cj

(学号 char(11)foreign key references student(学号))alter table cj add 课程编号 char(2)

增加列

alter table cj add foreign key(课程编号)references kc(课程编号)

增加外码

alter table cj add 成绩varchar(3)

insert into cj values('20100214201','01','69')

insert into cj values('20100214201','02','90')

insert into cj values('20100214201','03','56')

insert into cj values('20100214202','01','26')

insert into cj values('20100214202','02','54')

insert into cj values('20100214202','03','89')

1.select student.*,课程名,成绩 ,系名 from student ,kc,cj ,xi where student.系编号 = xi.系编号and cj.学号=student.学号 and kc.课程编号=cj.课程编号 and student.学号='20100214202'

查询学号为20100214202的学生student表的全部内容和每门课的成绩及所在系

2.select 姓名,课程名,成绩,系名 from student,kc,cj,xi where student.学号 = cj.学号 and student.系编号=xi.系编号 and cj.课程编号= kc.课程编号 and month(getdate())=month(student.出生日期)and day(getdate())= day(student.出生日期)

查询今天过生日的学生的姓名每门课的成绩及系名

3.select student.学号,课程名,成绩,系名 from student,kc,cj,xi where student.学号=cj.学号 and kc.课程编号=cj.课程编号 and student.系编号=xi.系编号 and cj.学号 =student.学号 查看所有学生的学号的每门课的成绩及系名

4.Select count()as 学生数 from student ,xi where student.系编号=xi.系编号and xi.系名=’物理系’

查看物理系的学生数

5.Select student.姓名,avg(cj.成绩)as平均成绩 from student, cj where student.学号=cj.学号

查看所有学生的平均成绩

下载实验四SQL语言(精选合集)word格式文档
下载实验四SQL语言(精选合集).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    SQL语言(模版)

    SQL语言 1. 数据定义: a) Create 创建 b) Drop 删除对象 数据表  表的创建:create table 表名(字段名1 类型 primary key注:主键,字段名2 类 型,……, check 表级约束) 例:S(Sno......

    sql语言(★)

    11.2.2 数据定义命令 1.CreateTable命令 Create Table ([,] [,……][,] ); 语句功能:创建一个以为名的、以指定的列属性定义的表结构。 2. Alter Table命令 Alter Table [......

    实验三 SQL语言的DDL

    实验三 视图、存储过程的定义和使用 一、实验目的 SQL(Structured Query Language)语言是关系数据库的标准语言。是一种介于关系代数与关系演算之间的结构化查询语言,其功能......

    SQL实验四_SQL的数据更新

    实验四、数据更新 1、 实验目的 熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、更新、删除操作。 2、 实验内容  在本实验中,主要内容是如何用SQL语句对......

    C语言-实验四

    实验报告 课程名称实验项目 学院 系别 班级/学号 学生姓名 实验日期 成绩 指导教师程序设计基础(C语言) 实验四 数组(二) 一、 实验目的 1. 掌握二维数组的定义和初始化......

    《Matlab语言》实验四

    实验四、 Matlab的程序设计 (一)实验目的 1.掌握利用if语句实现选择结构的方法。 2.掌握利用switch语句实现多分支选择结构的方法。 3.掌握利用for语句实现循环结构的方法。 4......

    实验五 SQL语言的DML初步

    实验五 SQL语言的DML初步一、实验目的 SQL的数据操纵功能通过DML(数据库操作语言)实现。DML包括数据查询和数据更新两种数据操作语句。其中,数据查询指对数据库中的数据查询......

    SQL语言简介

    SQL语言简介 ㈠、什么是SQL语言 SQL(Structure Query Languge,结构化查询语言)是一种数据库专用的计算机语言,不管是Oracle、MS SQL 、Access、MySQL或其他公司的数据库,也不管数......