📘本专栏文章主要是争对博主在学习《数据库原理及应用》课程时老师布置的课后练习题做出的解答,如果遇到相同的题目建议看着本文自己动手实践一遍,这样才能加深印象。
🎈如果想要了解数据库有关知识点的话,可以点击下方链接进行查看
🔑 本专栏地址【数据库练习题】
🔑有关数据库的知识点请戳⏩【数据库知识点总结】
🔑 另一个正在更新的专栏【拼图小游戏(Java)】
文章目录
一、前言
本文将争对有关数据表相关操作进行讲解
二、自定义数据类型
1.直接创建
1️⃣题目
打开数据库School1:
要求使用Microsoft SQL Server Management Studio方法分别创建自定义数据类型myID为char(8),不允许为空;自定义数据类型myName1为Nvarchar(10),不允许为空;
2️⃣操作步骤
-
按照如下图所示,右键点击“用户定义数据类型”,选择“新建…”
-
按照要求填入名称、数据类型以及长度
- 添加成功
2. 使用T-SQL命令创建
1️⃣题目
使用T-SQL命令方法创建自定义数据类型myName2为Nvarchar(20),不允许为空;自定义数据类型myDept为char(50),允许为空。(提示:CREATE TYPE…FROM命令)
2️⃣操作步骤
- 点击“新建查询”,输入语句
CREATE TYPE myName2 FROM Nvarchar(20) NOT NULL
CREATE TYPE myDept FROM char(50)
-
点击执行
-
右键点击服务器后刷新
-
创建成功
三、 数据表的创建
1.直接创建表
1️⃣题目
(1)使用Microsoft SQL Server Management Studio在School1数据库中建立TInfo表,该表的表结构见表2-1
表2-1 TInfo表结构
列名 | 数据类型 | 长度 | 备注 |
---|---|---|---|
Tid | myID | 设为关键字 | |
Tname | varchar | 10 | 不能为空 |
Sex | char | 2 | 其值只能为“男”或“女”,默认为“男” |
Dept | varchar | 30 | 允许为空 |
Tbirthday | smalldatetime | 允许为空 | |
Ttitle | varchar | 10 | 允许为空 |
Tphone | char | 11 | 允许为空 |
2️⃣操作步骤
- 右键点击表,选择新建表
-
右键Tid格,设置主键
-
选择数据类型
-
右键点击Sex栏,选择约束
-
添加约束
-
设置默认值
-
保存表
-
给表起名,并保存在D:/DataA目录下
-
完成新建表操作
2.使用T-SQL建表
1️⃣题目
使用T-SQL命令在School1数据库中创建表SInfo。
表2-2 SInfo表结构
列名 | 数据类型 | 长度 | 备注 |
---|---|---|---|
SID | myID | 设为关键字 | |
Sname | myName1 | 不能为空 | |
Sex | char | 2 | 其值只能为“男”或“女”,默认为“男” |
Birthday | smalldatetime | 允许为空 | |
Dept | myDept | 允许为空 | |
Major | varchar | 30 | 允许为空 |
Class | varchar | 18 | 允许为空 |
IDCardNo | char | 18 | 不允许为空 |
2️⃣操作步骤
- 选择School1数据库后新建查询,输入语句
CREATE TABLE SInfo(
SID myID PRIMARY KEY,
SName myName1 NOT NULL,
Sex char(2) DEFAULT('男') CHECK(Sex in('男','女')),
Birthday smalldatetime,
Dept myDept,
Major varchar(30),
Class varchar(18),
IDCardNo char(18) NOT NULL,
);
-
点击执行
-
右键点击服务器后刷新
-
创建成功
3.使用T-SQL命令添加外键约束
1️⃣题目
使用T-SQL命令在School1数据库中创建表CInfo 和ScoreInfo,表结构分别如下表所示
2️⃣操作步骤
- 修改可用数据库为School1后点击新建查询并输入语句
CREATE TABLE ScoreInfo(
CID myID PRIMARY KEY ,
Cname myName2 NOT NULL,
CCradit tinyInt NULL,
CProperty varchar(10),
);
-
点击执行
-
右键点击服务器后刷新
-
新建成功
-
保存表
同理,创建ScoreInfo表
四、数据表的修改
1.添加数据
1️⃣题目
用T-SQL命令语句修改表结构:
修改表SInfo表的表结构,设置IDCardNo值为惟一的。
2️⃣操作步骤
-
修改可用数据库为School1后点击新建查询并输入语句
-
点击执行
-
查看操作是否成功
2.修改默认值
1️⃣题目
修改ScoreInfo表结构,设置term值只能为1或2,默认值为1
2️⃣操作步骤
- 修改可用数据库为School1后点击新建查询并输入语句
ALTER TABLE ScoreInfo ADD DEFAULT 1 FOR term
ALTER TABLE ScoreInfo ADD CHECK(term=1 or term=2)
-
点击执行
-
查看操作是否成功
3.添加带约束条件的字段
1️⃣题目
在表SInfo中添加一字段EntroData(即入学日期),要求该输入范围在1900-1-1至2079-1-1之间
2️⃣操作步骤
添加字段
1.修改可用数据库为School1后点击新建查询并输入语句
ALTER TABLE SInfo ADD EntroData DATE
- 点击执行
增加范围约束
- 修改可用数据库为School1后点击新建查询并输入语句
ALTER TABLE SInfo ADD CHECK( EntroData between cast('1900-1-1' as datetime) and cast('2079-1-1' as datetime))
- 点击执行
查看操作是否成功
-
右键点击SInfo表,并选择设计
-
右键点击EntroData,选择CHECK约束
-
选中表达式这一行,出现红框内图标后点击图标
4.删除字段
1️⃣题目
修改表TInfo的表结构,要求删除其中的TBirthday字段
2️⃣操作步骤
- 修改可用数据库为School1后点击新建查询并输入语句
ALTER TABLE TInfo DROP column TBirthday
-
点击执行
-
查看操作是否成功
五、结语
如果有任何问题或者错误欢迎在评论区留言,本专栏将持续更新