数据库实验一:数据库与数据表定义(2)—— 数据表相关操作

📘本专栏文章主要是争对博主在学习《数据库原理及应用》课程时老师布置的课后练习题做出的解答,如果遇到相同的题目建议看着本文自己动手实践一遍,这样才能加深印象。
🎈如果想要了解数据库有关知识点的话,可以点击下方链接进行查看
🔑 本专栏地址【数据库练习题
🔑有关数据库的知识点请戳⏩【数据库知识点总结
🔑 另一个正在更新的专栏【拼图小游戏(Java)

一、前言

本文将争对有关数据表相关操作进行讲解

二、自定义数据类型

1.直接创建

1️⃣题目

打开数据库School1:

要求使用Microsoft SQL Server Management Studio方法分别创建自定义数据类型myID为char(8),不允许为空;自定义数据类型myName1为Nvarchar(10),不允许为空;

2️⃣操作步骤

  1. 按照如下图所示,右键点击“用户定义数据类型”,选择“新建…
    在这里插入图片描述

  2. 按照要求填入名称、数据类型以及长度

在这里插入图片描述
在这里插入图片描述

  1. 添加成功

在这里插入图片描述

2. 使用T-SQL命令创建

1️⃣题目

使用T-SQL命令方法创建自定义数据类型myName2为Nvarchar(20),不允许为空;自定义数据类型myDept为char(50),允许为空。(提示:CREATE TYPE…FROM命令)

2️⃣操作步骤

  1. 点击“新建查询”,输入语句
CREATE TYPE myName2 FROM Nvarchar(20) NOT NULL
CREATE TYPE myDept FROM char(50)

在这里插入图片描述

  1. 点击执行
    在这里插入图片描述

  2. 右键点击服务器后刷新
    在这里插入图片描述

  3. 创建成功
    在这里插入图片描述

三、 数据表的创建

1.直接创建表

1️⃣题目

(1)使用Microsoft SQL Server Management Studio在School1数据库中建立TInfo表,该表的表结构见表2-1

表2-1 TInfo表结构

列名数据类型长度备注
TidmyID设为关键字
Tnamevarchar10不能为空
Sexchar2其值只能为“男”或“女”,默认为“男”
Deptvarchar30允许为空
Tbirthdaysmalldatetime允许为空
Ttitlevarchar10允许为空
Tphonechar11允许为空

2️⃣操作步骤

  1. 右键点击表,选择新建表

在这里插入图片描述

  1. 右键Tid格,设置主键
    在这里插入图片描述

  2. 选择数据类型
    在这里插入图片描述

  3. 右键点击Sex栏,选择约束
    在这里插入图片描述

  4. 添加约束
    在这里插入图片描述

  5. 设置默认值
    在这里插入图片描述

  6. 保存表
    在这里插入图片描述

  7. 给表起名,并保存在D:/DataA目录下
    在这里插入图片描述

  8. 完成新建表操作

在这里插入图片描述

2.使用T-SQL建表

1️⃣题目

使用T-SQL命令在School1数据库中创建表SInfo。

表2-2 SInfo表结构

列名数据类型长度备注
SIDmyID设为关键字
SnamemyName1不能为空
Sexchar2其值只能为“男”或“女”,默认为“男”
Birthdaysmalldatetime允许为空
DeptmyDept允许为空
Majorvarchar30允许为空
Classvarchar18允许为空
IDCardNochar18不允许为空

2️⃣操作步骤

  1. 选择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,
);

在这里插入图片描述

  1. 点击执行
    在这里插入图片描述

  2. 右键点击服务器后刷新
    在这里插入图片描述

  3. 创建成功
    在这里插入图片描述

3.使用T-SQL命令添加外键约束

1️⃣题目

使用T-SQL命令在School1数据库中创建表CInfo 和ScoreInfo,表结构分别如下表所示

在这里插入图片描述

2️⃣操作步骤

  1. 修改可用数据库为School1后点击新建查询并输入语句
CREATE TABLE ScoreInfo(
	CID myID PRIMARY KEY ,
	Cname myName2 NOT NULL,
	CCradit tinyInt NULL,
	CProperty varchar(10),
);

在这里插入图片描述

  1. 点击执行
    在这里插入图片描述

  2. 右键点击服务器后刷新
    在这里插入图片描述

  3. 新建成功
    在这里插入图片描述

  4. 保存表
    在这里插入图片描述

同理,创建ScoreInfo表

四、数据表的修改

1.添加数据

1️⃣题目

用T-SQL命令语句修改表结构:
修改表SInfo表的表结构,设置IDCardNo值为惟一的。

2️⃣操作步骤

  1. 修改可用数据库为School1后点击新建查询并输入语句
    在这里插入图片描述

  2. 点击执行
    在这里插入图片描述

  3. 查看操作是否成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.修改默认值

1️⃣题目

修改ScoreInfo表结构,设置term值只能为1或2,默认值为1

2️⃣操作步骤

  1. 修改可用数据库为School1后点击新建查询并输入语句
ALTER TABLE ScoreInfo ADD DEFAULT 1 FOR term
ALTER TABLE ScoreInfo ADD CHECK(term=1 or term=2)

在这里插入图片描述

  1. 点击执行
    在这里插入图片描述

  2. 查看操作是否成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.添加带约束条件的字段

1️⃣题目

在表SInfo中添加一字段EntroData(即入学日期),要求该输入范围在1900-1-1至2079-1-1之间

2️⃣操作步骤

添加字段

1.修改可用数据库为School1后点击新建查询并输入语句

ALTER TABLE SInfo ADD EntroData DATE

 吗

  1. 点击执行
    在这里插入图片描述

增加范围约束

  1. 修改可用数据库为School1后点击新建查询并输入语句
ALTER TABLE SInfo ADD CHECK(  EntroData between cast('1900-1-1' as datetime) and cast('2079-1-1' as datetime))

在这里插入图片描述

  1. 点击执行
    在这里插入图片描述

查看操作是否成功

  1. 右键点击SInfo表,并选择设计
    在这里插入图片描述

  2. 右键点击EntroData,选择CHECK约束
    在这里插入图片描述

  3. 选中表达式这一行,出现红框内图标后点击图标
    在这里插入图片描述
    在这里插入图片描述

4.删除字段

1️⃣题目

修改表TInfo的表结构,要求删除其中的TBirthday字段

2️⃣操作步骤

  1. 修改可用数据库为School1后点击新建查询并输入语句
ALTER TABLE TInfo DROP column TBirthday

在这里插入图片描述

  1. 点击执行
    在这里插入图片描述

  2. 查看操作是否成功

在这里插入图片描述
在这里插入图片描述

五、结语

如果有任何问题或者错误欢迎在评论区留言,本专栏将持续更新

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alita11101_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值