SQL Server实验

一、实验目的

在SQL Server中创建数据库的基础上创建表,然后对表数据进行增删改操作。

二、实验步骤

(一)安装数据库
1.安装SQL Server 2012或以上版本。
2.尝试创建数据库、表。
(二)完成扩展训练
1.建立yggl数据库,建立员工表、部门表、员工薪水表,向三张表添加数据;
2.方式:(1)使用对象资源管理器;(2)使用t-sql语句
(三)基础训练
1.完成(1)->(3)->(8)->(6)
2.在(1)基础上可继续完成(7)
3.完成(4)->(5)

三、实验内容

  1. 建立yggl数据库,建立员工表、部门表、员工薪水表,向三张表添加数据;
    首先建立好yggl数据库,在新建查询中输入如下代码:
    USE YGGL                                                    使用表yggl执行
GO                                                          创建表Employees
CREATE TABLE Employees(                                    
EmployeeID  char(6)  Not Null PRIMARY KEY,                EmployeeID为该表的主键
Name   char(10) Not Null,                                 姓名,不能为空
  Education  char(4)  Not Null,                       
  Birthday  date  Not Null,                   
  Sex    bit   Not Null,                                    性别,默认值为1
WorkYear  tinyint  Null,                       
Address   varchar(40) Null,         
PhoneNumber  char(12)    Null,        
DepartmentID char(3)  Not Null
)     

CREATE TABLE Departments (                                   创建表Departments
DepartmentID  char(3)  Not Null PRIMARY KEY,               DepartmentID为该表的主键
DepartmentName  char(20) Not Null,           
Note    varchar  Null
)                      

CREATE TABLE Salary (                                         创建表Salary
EmployeeID  char(6)  Not Null PRIMARY KEY,                  EmployeeID为该表的主键
  InCome   float  Not Null,                   
  OutCome   float  Not Null                   
)

然后输入如下代码 插入信息
INSERT INTO Employees values                                      向表Employees插入数据
('000001', '王林', '大专','1966-1-23',' 1','8','中山路32-1-508','83355668','2'),
('010008', '伍容华', '本科','1976-3-28',' 1','3','北京东路100-2','83321321','1'),
('020010', '王向容', '硕士','1982-12-09',' 1','2','四牌楼10-0-108','83792361','1'),
('020018', '李丽', '大专','1960-07-30',' 0','6','中山东路102-2','83413301','1'),
('102201', '刘明', '本科','1972-10-18',' 1','3','虎踞路100-2','83606608','5'),
('102208','朱俊','硕士','1965-09-28','1','2','牌楼巷5-3-106','84708817','5'),
('108991','钟敏','硕士','1979-08-10','0','4','中山路10-3-105','83346722','3')
 ('111006','张石兵','本科','1974-10-01','1','1','解放路34-1-203','84563418','5'),
('210678','林涛','大专','1977-04-02','1','2','中山北路24-35','83467336','3'),
	('302566','李玉珉','本科','1968-09-20','1','3','热河路209-3','58765991','4'),
	('308759','叶凡','本科','1978-11-18','1','2','北京西路3-7-52','83308901','4'),
	('504209','陈林琳','大专','1969-09-03','0','5','汉中路120-4-12','84468158','4')
INSERT INTO Departments values                          向表Departments插入数据
('1', '财务部', null),
('2', '人力资源部', null),
('3', '经理办公室', null),
('4', '研发部', null),
('5', '市场部', null)
INSERT INTO Salary values                                向表Salary插入数据
('000001','2100.80','123.09'),               ('308759','2531.98','199.08'),
('010008','1582.62','88.03'),                 ('210678','2240.00','121.00'),
	('102201','2569.88','185.65'),                 ('102208','1980.00','100.00')
	('111006','1987.01','79.58'),
	('504209','2066.15','108.00'),
	('302566','2980.70','210.20'),
	('108991','3259.98','281.52'),
	('020010','2860.00','198.00')('020018','2347.68','180.00')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实验三
SQL Serve中床创建xsbook数据库,创建学生表,数据库文件存放在用户指定目录中
首先创建xsbook数据库,再在新建查询中输入:

USE  xsbook                                                    使用xsbook数据库
Go 
CREATE TABLE  xs  (                                            创建表xs
借书证号  char(8) NOT NULL PRIMARY KEY,                        设置借书证号为主键
姓名      char(8) NOT NULL,
性别      bit NOT NULL DEFAULT 1,                
出生时间  date NOT NULL,
专业      char(12) NOT NULL,
借书量    int NOT NULL DEFAULT 1,                             设置默认值为1
照片      varbinary(MAX) NULL
)
CREATE TABLE book(                                        创建表book
ISBN     char(18) NOT NULL PRIMARY KEY,                   ISBN为主键
书名     char(40) NOT NULL,
作者     char(16) NOT NULL,
出版社   char(10) NOT NULL,
价格     float NOT NULL,
复本量   int NOT NULL,
库存量   int NOT NULL
)
Create Table jy(                                       创建表jy
索书号   char(10) not null Primary Key,                设置索书号为主键
借书证号 char(8) not null,
ISBN     char(18) not null,
借书时间 date	not null
)

根据书上的要求,在新建查询的输入以下代码,插入信息

USE xsbook                              
INSERT Into xs Values                   
('131101','王林','1','1996-2-10','计算机','4',null),
('131102','程明','1','1997-2-1','计算机','2',null),
('131103','王燕','0','1995-10-6','计算机','1',null),
('131104','韦严平','1','1996-8-26','计算机','4',null),
('131106','李方方','1','1996-11-20','计算机','1',null),
('131107','李明','1','1996-5-1','计算机','0',null),
('131108','林一帆','1','1995-8-5','计算机','0',null),
('131109','张强民','1','1995-8-11','计算机','0',null),
('131110','张蔚','0','1997-7-22','计算机','0',null),
('131111','赵琳','0','1996-3-18','计算机','0',null),
('131113','严红','0','1995-8-11','计算机','0',null),
('131201','王敏','1','1995-6-10','通信工程','1',null),
('131202','王林','1','1995-1-29','通信工程','1',null),
('131203','王玉民','1','1996-3-26','通信工程','1',null),
('131204','马琳琳','0','1995-2-10','通信工程','1',null),
('131206','李计','1','1995-9-20','通信工程','1',null),
('131210','李红庆','1','1995-5-1','通信工程','1',null),
('131216','孙祥欣','1','1995-3-19','通信工程','0',null),
('131218','孙研','1','1996-10-9','通信工程','1',null),
('131220','吴薇华','0','1996-3-18','通信工程','1',null),
('131221','刘燕敏','0','1995-11-12','通信工程','1',null),
('131241','罗林琳','0','1996-1-30','通信工程','0',null) 
INSERT INTO book Values                
('978-7-121-23270-1','MySQL实用教程(第2版)','郑阿奇','电子工业出版社','53','8','1'),
('978-7-81124-476-2','S7-300/400可编程控制器原理与应用','崔维群 孙启法','北京航空航天大学出版社','59','4','1'),
('978-7-111-21382-6','Java编程思想','Bruce Eckel','机械工业出版社','108','3','1'),
('978-7-121-23402-6','SQL Server实用教程(第4版)','郑阿奇','电子工业出版社','59','8','5'),
('978-7-302-10853-6','C程序设计(第3版)','谭浩强','清华大学出版社','26','10','7'),
('978-7-121-20907-9','C#实用教程(第2版)','郑阿奇','电子工业出版社','49','6','3')
INSERT INTO jy Values                  
('1200001','131101','978-7-121-23270-1','2014-02-18'),
('1300001','131101','978-7-81124-476-2','2014-02-18'),
('1200002','131102','978-7-121-23270-1','2014-02-18'),
('1400030','131104','978-7-121-23402-6','2014-02-18'),
('1600011','131101','978-7-302-10853-6','2014-02-18'),
('1700062','131104','978-7-121-20907-9','2014-02-19'),
('1200004','131103','978-7-121-23270-1','2014-02-20'),
('1200003','131201','978-7-121-23270-1','2014-03-10'),
('1300002','131202','978-7-81124-476-2','2014-03-11'),
('1200005','131204','978-7-121-23270-1','2014-03-11'),
('1400031','131206','978-7-121-23402-6','2014-03-13'),
('1600013','131203','978-7-302-10853-6','2014-03-13'),
('1700064','131210','978-7-121-20907-9','2014-03-13'),
('1300003','131216','978-7-81124-476-2','2014-03-13')

效果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再用代码对xs表进行插入、修改和删除
在新建查询中输入如下代码:

USE xsbook                           
GO
create table xs1(                                             创建表xs1
借书证号 char(8) NOT NULL Primary Key,                        设置借书证号为主键
姓名     char(8) NOT NULL,
性别     bit NOT NULL,
出生时间 date NOT NULL,
专业     char(12) NOT NULL,
借书量   int NOT NULL DEFAULT 0,
照片     varbinary(Max) NULL
)
INSERT INTO dbo.xs1                                   向表xs1插入数据                 
Values
('131246','周涛','1','1995-9-10','英语','0',null)
GO
Insert Into dbo.xs1(借书证号,姓名,出生时间,专业)     向表中的这几个字段插入数据
Values('130210','王林','1995-1-10','英语')
insert into xs                                向表xs插入xs1中的所有数据
select *                                        从xs1中选取数据
from xs1
use xsbook
delete from xs1                                 删除表中字段借书量为0的数据
where 借书量=0
update xs1                                     更新表xs1
set 专业='计算机'                              将字段借书证号为131246的改为计算机
where 借书证号='131246'                            
update xsl                                     将借书证号为131111改为土木工程
set 专业='土木工程'
where 借书证号='131111'
delete from xs                                 删除借书量为2的数据
	where 借书量=2 
	update xs1
SET 姓名='周红',                                   将借书证号值为131246的记录姓名的值改为
专业='英语',                                       周红将专业改为英语,性别的值改为0
性别=0                                             
WHERE 借书证号='131246'
update xs1                                         
SET 借书量=借书量+2                                更改借书量的值+2
MERGE INTO xs1                                     合并两个表的数据
USING xs on xs1.借书证号=xs.借书证号               建立两个表的关系
WHEN matched                                     
THEN update SET                                  
xs1.姓名=xs.姓名,xs1.性别=xs.性别,
xs1.出生时间=xs.出生时间,
xs1.专业=xs.专业,xs1.借书量=xs.借书量,xs1.照片=xs.照片
WHEN not matched                                
THEN INSERt VALUES(                                添加数据
xs.借书证号,xs.姓名,xs.性别,xs.出生时间,xs.专业,xs.借书量,xs.照片)
WHEN not matched BY source                      源不匹配时删除                  
THEN DELETE;
Use xsbook
ALTER TABLE xs1                                                
Add 逾期未还书数 tinyint null               添加未还书记录
ALTER TABLE xs1                   
DROP column 逾期未还书数                    删除该字段
ALTER TABLE xs1
ALTER column 姓名 char(10)                 修改该记录要求
GO
ALTER TABLE xs1
ALTER column 出生时间 datetime             修改该记录要求
最后实验
CREATE PARTITION FUNCTION numberpf(int)         创建分区函数
	As RANGE left FOR VALUES(50,500,1000,2000)int类型的列中数据分为五个区
CREATE PARTITION scheme numberps  --创建分区方案
	AS PARTITION numberpf                      将5个分区分别存放在这5个文件组中
	TO(Fgroup1,Fgroup2,Fgroup3,Fgroup4,Fgroup5)
REATE TABLE tab1(                                 创建表tab1
编号 int Not Null PRIMARY KEY,                   设置编号为主键
名称 char(8) NOT Null
)
On numberps(编号)                           
GO

四、实验总结

1、创建数据库之前,要先明确有什么数据表以及表的结构。
2、注意代码输出的正确性。
3、执行完语句后记得刷新数据库
4、数据库中表的数值错了,可以执行语句来更改,不需要删除重建
5、分区中数据类型要与分区函数的数据类型一致。

2008数据库实验 1.SQL SEVER 2000的系统工具、使用交互方式建库、建表 2.T—SQL的简单查询、连接查询 3.子查询及组合 4.数据控制、数据导入/导出、数据备份和恢复 实验1 SQL SEVER 2000的系统工具、使用交互方式建库、建表实验 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000企业管理器和查询分析器创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (3)熟悉企业管理器和查询分析器的界面和操作。 (3)创建数据库和查看数据库属性。 (4)创建表、确定表的主码和约束条件。 (5)查看和修改表的结构。 (6)向数据库输入数据,观察违反列级约束时出现的情况。 (7)修改数据。 (8)删除数据,观察违反表级约束时出现的情况。 实验2 T—SQL的简单查询、连接查询 实验目的和要求:,了解SQL语句的数据定义与数据更新功能,了解SQL语句的查询功能,掌握SQL中的数据定义语句的用法,熟练掌握SQL中的插入、修改和删除语句的操作,熟练掌握使用SQL语句进行数据库的简单查询、连接查询。 实验内容和步骤: (1)在SQL SEVER 2000的查询分析器里,用SQL语句建库、建表并插入记录。 (2)修改表结构,包括修改属性列的数据类型,增加新的属性列,删除已有的属性列。 (3)使用单个元组和多元组插入。 (4)简单查询操作,包括投影、选择、数据排序、模糊匹配查询等。如果结果不正确,要进行修改,直至正确为止。 (5)连接查询操作,包括等值连接、自然连接、一般连接、自身连接、外连接。 实验3 子查询及组合 实验目的和要求:了解SQL语句的查询功能,理解视图的概念。熟练掌握使用SQL语句进行数据库的嵌套查询及组合查询的操作;掌握视图创建语句和视图的使用方法,加深对视图作用的理解。 实验内容和步骤: (1)在DBMS的交互式环境里,用SQL语句建库、建表并插入记录。 (2)使用In、比较符和Exists操作符进行嵌套查询操作。 (3)分组查询,包括分组条件表达、选择组条件表达的方法。 (4)集合查询。 (5)使用视图创建语句建视图,通过视图查询数据 (6)带子查询的修改和删除 (7)通过视图修改和删除数据 实验4 数据控制、数据的导入/导出、数据库备份和恢复 实验目的和要求:掌握数据控制(安全性)的方法,了解SQL SEVER 2000的数据备份和恢复机制,掌握SQL SEVER 2000中数据库备份和恢复的方法。 实验内容和步骤: (1)使用SQL对数据进行安全性控制,包括授权和权利收回。 (2)查看授权和权利收回后的结果 (3)SQL SEVER 2000工具对表中的数据导出到其它格式的文件。 (4)将其它格式的文件数据导入到数据库中。 (5)使用SQL SEVER 2000工具创建一个数据库的备份(海量备份、增量备份)。 (6)使用SQL SEVER 2000工具及所创建的数据库备份恢复这个数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值