2.sql server数据表的管理(实验报告)

news/2024/11/28 8:31:13/

目录

一﹑实验目的

二﹑实验平台

三﹑实验内容和步骤

四﹑命令(代码)清单

五﹑运行结果


一﹑实验目的

  1. 掌握使用SQL Server管理平台和Transact-SQL语句Create table和Alter table创建和修改表的方法;
  2. 掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法;
  3. 掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法;
  4. 了解SQL Server的常用数据类型。

二﹑实验平台

操作系统:Windows xp,Win7,Win10

DBMS:SQL Server 2005, SQL Server 2008

三﹑实验内容和步骤

(1)启动SQL Server管理平台,创建数据库studentdb并在对象资源管理器中展开studentdb数据库文件夹。

(2)在studentdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构见图1-2至1-4所示。

列名

数据类型

允许空

学号

Char(4)

Not null

姓名

Char(8)

性别

Char(2)

出生日期

datetime

家庭住址

Varchar(50)

备注

text

图1-2 student_info

列名

数据类型

允许空

课程编号

char(4)

No null

课程名称

char(50)

学分

int

图1-3 curriculum

列名

数据类型

允许空

学号

Char(4)

Not null

课程编号

Char(4)

Not null

分数

Numeric(3,1)

图1-4 grade

(3)在SQL Server管理平台中创建student_info、curriculum表;

(4)在SQL Server管理平台中,将student_info表的学号列设置为主键,非空;

(5)使用Transact-SQL语句Create table在studentdb数据库中创建grade表;

(6)student_info、curriculum、grade表中的数据如图1-5至1-7所示。

学号

姓名

性别

出生日期

家庭住址

备注

0001

刘卫平

1980-10-1

衡阳市东风路78号

null

0002

张卫民

1980-12-2

东阳市八一北路25号

null

0003

马东

1980-7-4

长岭市五一路785号

null

0004

钱达理

1980-5-10

滨海市洞庭大道278号

null

0005

东方牧

1980--1-3

东方市中山路25号

null

0006

郭文斌

1980-6-4

长岛市解放路25号

null

0007

肖海燕

1980-3-15

南山市红旗路15号

null

0008

张明华

1980-4-18

滨江市解放路35号

null

图1-5 student_info的数据

课程编号

课程名称

学分

0001

大学计算机基础

2

0002

C语言程序设计

2

0003

SQL Server数据库及应用

2

0004

英语

4

0005

高等数学

4

图1-6 curriculum的数据

学号

课程编号

分数

0001

0001

80

0001

0002

90

0001

0003

87

0001

0004

86

0001

0005

78

0002

0001

76

0002

0002

73

0002

0003

69

0002

0004

70

0002

0005

89

0003

0001

83

0003

0002

73

0003

0003

84

0003

0004

75

0003

0005

65

图1-7 grade的数据

(7)在SQL Server管理平台中为student_info、curriculum、grade表添加数据。

(8)使用SQL语句insert into …values向studentdb数据库的grade表插入数据:学号为0004,课程编号为0001,分数为80。

(9)使用SQL语句alter table修改curriculum表的“课程编号”列,使之为非空。

(10)使用SQL语句alter table修改grade表的“分数”列,使其数据类型为real。

(11)使用SQL语句alter table修改student_info表的“姓名”列,使其数据类型为varchar(10),非空。

(12)分别使用SQL Server管理平台和SQL语句delete删除studentdb数据库的grade表中学号为’0004’的成绩记录。

(13)使用SQL语句update修改studentdb数据库的grade表中学号为0003、课程编号为0005的记录,使其成绩为90。

(14)使用SQL语句alter…add为studentdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为varchar(20)。

四﹑命令(代码)清单

5

use studentdb
create table grade(
学号 char(4) not null,
课程编号 char(4) not null,
分数 numeric(3,1)
)

7

use studentdb
insert into student_info values('0001','刘卫平','男','1980-10-1','衡阳市东风路78号',null);
insert into student_info values('0002','张卫民','男','1980-12-2','东阳市八一北路25号',null);
insert into student_info values('0003','马东','男','1980-7-4','长岭市五一路785号',null);
insert into student_info values('0004','钱达理','男','1980-5-10','滨海市洞庭大道278号',null);
insert into student_info values('0005','东方牧','男','1980-1-3','东方市中山路25号',null);
insert into student_info values('0006','郭文斌','男','1980-6-4','长岛市解放路25号',null);
insert into student_info values('0007','肖海燕','女','1980-3-15','南山市红旗路15号',null);
insert into student_info values('0008','张明华','女','1980-4-18','滨江市解放路35号',null);

use studentdb
insert into curriculum values('0001','大学计算机基础',2)
insert into curriculum values('0002','C语言程序设计',2)
insert into curriculum values('0003','SQL Server数据库及应用',2)
insert into curriculum values('0004','英语',4)
insert into curriculum values('0005','高等数学',4)

use studentdb
insert into grade values('0001','0001',80)
insert into grade values('0001','0002',90)
insert into grade values('0001','0003',87)
insert into grade values('0001','0004',86)
insert into grade values('0001','0005',78)
insert into grade values('0002','0001',76)
insert into grade values('0002','0002',73)
insert into grade values('0002','0003',69)
insert into grade values('0002','0004',70)
insert into grade values('0002','0005',89)
insert into grade values('0003','0001',83)
insert into grade values('0003','0002',73)
insert into grade values('0003','0003',84)
insert into grade values('0003','0004',75)
insert into grade values('0003','0005',65)

(8)

use studentdb
insert into grade values('0004','0001',80)

(9)

use studentdb
alter table curriculum
alter column  课程编号 char(4) not null

10

alter table grade
alter column  分数 real

11

alter table student_info
alter column  姓名 varchar(10)

12

delete from grade where 学号='0004'

13

update grade
set 分数=90 where 学号='0003' and 课程编号='0004'

14

alter table grade add 备注 varchar(20)

五﹑运行结果

1

 

2

3

 

4

 

5

7

(8)

(9)

10

11

12

使用管理平台删除

②用sql语句:

(13)

(14)


http://www.ppmy.cn/news/61821.html

相关文章

集合练习(1)

目录 第一题 思路分析: 第二题 第三题 思路分析: 第一题 代码演示: 思路分析: 1.因为我们在打印的时候,是需要打印一个标题的信息即可,所以在使用构造器初始化的时候,只需要写一个带参数的…

如何在JAVA中实现面向对象编程?

在Java中,面向对象编程是一种重要的编程范式。它通过将现实世界中的实体抽象为类,将类实例化为对象,并通过对象之间的互动来实现软件系统的设计和实现。 以下是在Java中实现面向对象编程的一些基本概念和技术: 类和对象 类是一…

通俗易懂理解RDD看这一篇就够了

前言 今天面试一个大数据开发工程师,spark相关的知识感觉都能懂一点,但是连基础的RDD稍微一问深一点就不知所云,这种情况基本上是无法通过面试的,今天想用通俗的话把RDD说明白。 RDD简介 RDD(Resilient Distributed Dataset,弹性分布式数据集)是Spark中最基本的数据抽…

IDEA快捷键

文章目录 快捷键介绍重点掌握CtrlAltShiftCtrl AltCtrl ShiftAlt ShiftCtrl Shift Alt其他 快捷键介绍 重点掌握 psvmmain函数sout输出soutv带变量名输出.sout变量.调用 输出变量值.if布尔值.调用 生成if语句.for数组类型变量.for 生成for语句.var补全接收的变量&#x…

【实战项目开发技术分享】DevOps开发流程

文章目录 前言一、DevOps基本概念1.1 DevOps定义1.2 DevOps的目标1.3 DevOps的基本原则1.4 DevOps流程二、DevOps流程应用2.1 机器人开发中的DevOps流程。2.2 自动驾驶开发中的DevOps流程三、总结前言 当今软件开发中,DevOps已成为一种重要的流程模型,能够提升软件开发过程的…

聊聊JavaScript性能优化!

随着软件开发行业的发展,性能优化是一个不可避免的话题,那么什么样的行为才能算作性能优化呢?本质上来说,任何能提高运行效率,降低运行开销的行为,都可以算作性能优化的操作。那么JavaScript语言的优化从理…

亚马逊选品有什么技巧?品选对了可以带来什么好处?

选品一直是很多亚马逊卖家心中的痛点,选品选不好,自然后续的工作也很难进行。想在这个平台上挑选出实现销售和盈利的产品并不是一件容易的事情。 因此,在选品方面,卖家们需要从市场需求、产品利润、稳定需求量、买家反馈、类别结构…

Java时间类(八)-- Instant (时间戳类)(常用于Date与LocalDateTime的相互转化)

目录 1. Instant的概述: 2. Instant的常见方法: 3. Date --->Instant--->LocalDateTime 4. LocalDateTime --->Instant--->Date 1. Instant的概述