文章目录
-
- 概要
- 1. 数据库的相关操作
- 2. 数据表相关操作
- 3. 思考题
概要
实验环境:Windows操作系统,Microsoft SQL Server
实验一是一些关于数据库入门的简单操作主要内容为:(1)数据库的创建、修改、分离、附加
(2)自定义数据类型(3)数据表的创建、修改
1. 数据库的相关操作
1.1 数据库的创建
(1)使用Mircrosoft SQL SERVER Management Studio创建数据库School1,要求将数据库文件存放在C盘的dataA目录下
步骤一:首先,在C盘中新建一个文件夹名为dataA,然后启动Microsoft SQL Server
选择Windows身份验证点击连接。
步骤二:选中数据库然后鼠标右击选择新建数据库
步骤三:设置数据库名称并设置数据文件和日志的保存路径,保存路径为初始在C盘新建的dataA文件夹中
(2)使用CREATE DATABASE命令创建数据库School2,要求将数据文件和日志文件均放在C盘的dataA目录下。
操作步骤:
1.鼠标左击选中数据库并点击新建查询
2.在代码行中输入并执行
create database School2
on primary
( name= School2,
filename='C:\数据库作业\dataA\School2.mdf'
)
log on(
name =school_log,
filename='C:\数据库作业\dataA\School2.ldf'
)
注意filename后的路径为你要放的文件夹的路径后加上\School2.mdf或\School2.ldf
1.2 数据库的分离
(1)使用Microsoft SQL Server Management Studio将数据库School1分离。
选择数据库School1鼠标右击在任务中找到分离
在删除连接和更新系统下打勾后按下确认
(2)使用T-SQL命令将数据库School2分离。
步骤一:选中数据库点击新建查询
步骤二:输入命令sp_detach_db School2,点击执行
弹出命令成功即分离成功
1.3 数据库的附加
(1)将数据库School1和School2的数据文件和日志文件剪切到C盘data目录中
步骤一:找到之前建的dataA文件夹,选中剪切数据和日志文件
步骤二:找到c盘的data文件夹,复制到data文件夹中
注意:如果找不到c盘中的data文件夹,可以参考以下路径,或者在数据库School1或2的鼠标右击属性中的文件中查看自己电脑中存放的位置
(2)在对象资源管理器中附加数据库,将C盘data目录中的数据库School1附加到数据库服务器中
首先,选中数据库右击附加
然后,点击添加School1.mdf
2. 数据表相关操作
2.1 自定义数据类型
打开数据库School1:
(1)要求使用Microsoft SQL Server Management Studio方法分别创建自定义数据类型myID为char(8),不允许为空;自定义数据类型myName1为Nvarchar(10),不允许为空;
首先,展开School1--可编程性--类型--用户定义数据类型
然后,右击用户定义数据类型
之后,设置名称、数据类型、长度,架构为默认值dbo
(2)使用T-SQL命令方法创建自定义数据类型myName2为Nvarchar(20),不允许为空;自定义数据类型myDept为char(50),允许为空。
在School1中新建查询,然后输入以下命令并执行
create type myName2 from Nvarchar(20) not null
create type myDept from char(50)
2.2 数据表的创建
(1)使用Microsoft SQL Server Management Studio在School1数据库中建立TInfo表,该表的表结构见表2-1。
列名 | 数据类型 | 长度 | 备注 |
Tid | myID | 设为关键字 | |
Tname | varchar | 10 | 不能为空 |
Sex | char | 2 | 其值只能为“男”或“女”,默认为“男” |
Dept | varchar | 30 | 允许为空 |
Tbirthday | smalldatetime | 允许为空 | |
Ttitle | varchar | 10 | 允许为空 |
Tphone | char | 11 | 允许为空 |
步骤一:在School1中新建表
步骤二:设置表格按照要求
设置主键
设置Sex的默认值为'男'
右击Sex的一栏并点击CHECH约束
然后,添加并设置表达式为:Sex='男' or Sex='女',然后关闭
(2)设计好Tinfo表结构后,可以输入数据进行测试。首先右击表,选择“编辑前200行”, 在编辑区表结构中直接输入数据,如Tid为自己学号后8位, Tname为自己的姓名,然后回车。此时检测性别属性是否会产生默认的值。
再输入数据Tid为“21190002”, Tname为“李四”,性别为“未知”,回车,看看产生什么结果。思考为什么会这样?
首先,展开表然后右击编辑前200行
编辑自己的表格,如果输入性别为未知会报错
(3)使用T-SQL命令在School1数据库中创建表SInfo。
列名 | 数据类型 | 长度 | 备注 |
SID | myID | 设为关键字 | |
SName | myName1 | 不能为空 | |
Sex | char | 2 | 其值只能为“男”或“女”,默认值为“男”, |
Birthday | smalldatetime | 允许为空 | |
Dept | myDept | 允许为空 | |
Major | varchar | 30 | 允许为空 |
Class | varchar | 18 | 允许为空 |
IDCardNo | char | 18 | 不允许为空 |
在命令行中输入并执行:
create table Sinfo
(
SID myID primary key,
SName myName1 not null,
Sex char(2) default '男' check (Sex in ('男','女'),
Birthday smalldatetime,
Dept myDept,
Hajor varchar(30),
Class varchar(18),
IDCardNo char(18) not null
)
(4)使用T-SQL命令在School1数据库中创建表CInfo 和ScoreInfo,表结构分别如下表所示。
列名 | 数据类型 | 长度 | 备注 |
CID | myID | 设为关键字 | |
CName | myName2 | 20 | 不能为空 |
CCredit | tinyInt | 允许为空 | |
CProperty | varchar | 10 |
列名 | 数据类型 | 长度 | 备注 |
CID | myID | 设为主码,外键引用,参照CInfo中的字段CID | |
SID | myID | 设为主码,外键引用,参照SInfo中的字段SID | |
TID | myID | 外键引用,参照TInfo中的字段TID | |
Score | numeric | 3,1 | 允许为空 |
Schyear | char | 9 | 允许为空 |
term | char | 1 | 允许为空 |
输入以下命令并执行:
create table Cinfo
(
CID myID primary key,
CName myName2 not null,
CCredit tinyInt,
CProperty varchar(10)
);
create table ScoreInfo(
CID myID foreign key references Cinfo(CID),
SID myID foreign key references Sinfo(SID),
TID myID foreign key references Tinfo(TID),
Score mumeric(3,1),
Schyear char(9),
term char(1)
)
2.3 数据表的修改
用T-SQL命令语句修改表结构:
1. 修改表SInfo表的表结构,设置IDCardNo值为惟一的。
alter table Sinfo add unique(IDCardNo)
2. 修改ScoreInfo表结构,设置term值只能为1或2,默认值为1。
alter table ScoreInfo add default 1 for term;
alter table ScoreInfo add check(term between 1 and 2);
3. 在表SInfo中添加一字段EntroData(即入学日期),要求该输入范围在1900-1-1至2079-1-1之间。
alter table Sinfo add EntroDate date check(EntroDate between cast(1900-1-1 as datetime) and
cast(2079-1-1 as datetime))
4. 修改表TInfo的表结构,要求删除其中的TBirthday字段。
alter table Tinfo drop colume TBirthday
5.删除数据库XX的SQL语句。
drop database XX
3. 思考题
(1)在建立好数据库“School1”后,请问如何修改数据库School1的数据文件和日志文件的【逻辑名称】、【初始大小】、【文件名】和【路径】,具体该如何操作呢?
修改逻辑名称:法一右击数据库重命名,
法二代码指令:
alter database原数据库名 modfiy file(name=原数据库名,newname=新数据库名)
修改初始大小:法一右击数据库属性中修改,
法二代码指令:
alter database数据库名 modfiy file(name=数据库名,size=想要的初始大小)
修改文件名:先分离数据库再手动改文件夹名称
修改路径:
1. 先创建新的路径:
New-Item -ItemType Directory -path”D:\....”
2. 修改数据库路径:
2.use master;
go
alter database 数据库名称 modfiy file(name=数据库名称,filename=’D:\....’)
go
小结
数据库和表的一些简单操作,主要学习命令操作。