【Sql Server】创建表,修改表及列约束和表约束的设置

这篇具有很好参考价值的文章主要介绍了【Sql Server】创建表,修改表及列约束和表约束的设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

友情提示:菜鸡用土话写的文章

文章目录

目录

文章目录

前言

一、 实验目的

二、 实验要求

三、 实验内容

实验2-1 创建表

表2.1 “student”表的结构

表2.2 “course”表的结构

表2.3 “sc”表的结构

二、实验步骤

1.使用SSMS创建“student”表

​编辑

2.修改表

​编辑

4.设置唯一性约束

4.设置外键约束

​编辑

5.设置Check约束

6.设置默认值约束

所有SQL代码如下 :

总结


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,SQL server这门技术也越来越重要(学校说的,我也不知道学学校是怎么想的),很多人都开启了数据库学习,比如近几年比较火热的MySQL在java中应用的比较常见,学完了MySQL对于SQL server的学习会有很大帮助,本文就介绍了SQL server如何创建表和约束。


提示:以下是本篇文章正文内容,下面案例可供参考

一、 实验目的

  1. 使读者掌握使用SSMS和T-SQL语句创建表、修改表的知识 ;

  2. 使读者掌握使用SSMS和T-SQL语句设置列约束、表约束的知识;

  3. 培养读者利用SQL Server 2014创建表、修改表的能力;

  4. 培养读者利用SQL Server 2014为表设置列约束、表约束的能力;

  5. 培养读者理解数据库完整性、理解规则,明白现实世界的事物都要遵守一定的发展规律,同样反映客观事物的数据库也要体现规则。

二、 实验要求

  1. 熟练使用SSMS进行表的创建和修改操作,要求student做好翻转课堂演示相关操作的准备;

  2. 熟练使用T-SQL语句创建和修改表;

  3. 熟练使用SSMS设置列约束、表约束;

  4. 熟练使用T-SQL语句设置列约束、表约束;

  5. 读者应独立完成本次实验,并在各实验的关键步骤截图(本书已有的截图无须重复),完成实验报告,并按教师指定方式提交网络教学平台。

三、 实验内容

实验2-1 创建表

实验要求

  1. 在数据库teaching中使用SSMS创建“student”表,该表结构如表2.1所示,注意建表时要明确主键;

表2.1 “student”表的结构

字段名 数据类型 长度 是否允许为空 键值 说明
sno char 8 主键 学号
sname varchar 20 姓名
ssex nchar 2 性别
sage tinyint 年龄
en_time date 入学时间
specialty varchar 20 专业
grade char 4 年级

2.使用T-SQL语句创建“course”表和“sc”表,注意建表时要明确主键。

表2.2 “course”表的结构

字段名 数据类型 长度 是否允许为空 键值 说明
cno char 4 主键 课程号
cname varchar 20 课程名
classhour tinyint 学时
credit tinyint 学分

表2.3 “sc”表的结构

字段名 数据类型 长度 是否允许为空 键值 说明
sno char 8 主键 学号
cno char 4 主键 课程号
score tinyint 成绩

二、实验步骤

1.使用SSMS创建“student”表

启动SSMS,在“对象资源管理器”中右击teaching2数据的“表”节点,选择“表”命令,创建完成后输入数据然后将sno设置为主键,最后Ctrl+s保存,将这个表的名称修改为student。

【Sql Server】创建表,修改表及列约束和表约束的设置

 接下来写course和sc表使用T-sql语句进行创建

【Sql Server】创建表,修改表及列约束和表约束的设置

use teaching2
go 
create table course(
cno char(4) primary key,
cname varchar(20) not null,
classhour tinyint,
credit tinyint
)
go 
create table sc(
sno char(8) not null,
cno char(4) not null,
score tinyint null,
primary key (sno,cno)
)

【Sql Server】创建表,修改表及列约束和表约束的设置

选中后执行在命令成功的情况下刷新左侧对象资源管理器可以看到我们的表已经创建成功了,和实验要求中的三个表相比较没有出入。

【Sql Server】创建表,修改表及列约束和表约束的设置

2.修改表

  • 为student表增加字段(add指令)

【Sql Server】创建表,修改表及列约束和表约束的设置

  • 为student表删除字段(drop指令)

【Sql Server】创建表,修改表及列约束和表约束的设置

  • 为course表修改字段属性

【Sql Server】创建表,修改表及列约束和表约束的设置

3.设置主键约束  

实验要求

  1. 在SSMS中将“student”的主键由sno改为sname;

  2. 使用T-SQL语句将“student”的主键由sname改为sno。

修改主键:直接在student表中点击右键设计,给sname设置主键,记得每次设置完成之后要保存

【Sql Server】创建表,修改表及列约束和表约束的设置

T-Sql将主键再次设置为sno(要设置主键需要先将之前的主键删除,之前主键的名字在键中为PK_student,PK_stu为新设置的键,我们将其命名为PK_stu,当然这个名字也可以自己取)  

【Sql Server】创建表,修改表及列约束和表约束的设置

4.设置唯一性约束

实验要求

1.在SSMS中为“student”的sname列设置唯一性约束;

2.使用T-SQL语句将“student”的sname列上的唯一性约束删除。

  • 在SSMS中鼠标操作sname,选择“索引/键”命令,选择添加按钮,将类型设置为唯一键。刷新之后再键中我们可以看到多了一把钥匙。

 【Sql Server】创建表,修改表及列约束和表约束的设置

使用T-SQL语句设置唯一性约束  

【Sql Server】创建表,修改表及列约束和表约束的设置

执行这个操作之后IX_student就被删除了,那么我们思考如何使用T-SQL语句添加唯一性约束呢? 【Sql Server】创建表,修改表及列约束和表约束的设置 

再次查看,说明这个唯一键约束有添加成功了。

4.设置外键约束

实验要求

  1. 利用SSMS中的数据库关系图实现“sc”表中“sno”字段的FOREIGN KEY约束。

  2. 使用T-SQL命令实现“sc”表中“cno”字段的FOREIGN KEY约束。

  • 使用数据库关系图实现外键约束

【Sql Server】创建表,修改表及列约束和表约束的设置

【Sql Server】创建表,修改表及列约束和表约束的设置

接下来,要将三个表之间的关系关联起来。按实验要求,一个student表中的sno,在sc表中应该出现多次,也就是说是1:n的联系;因此,将student表中的sno字段左侧的“金钥匙”符号拖拽到sc表的sno字段上。此时,弹出“表和列”对话框。在对话框中自动创建了外键关系“FK_sc_student”,并分别明确了主键表和外键表。单击“确定”按钮。  

【Sql Server】创建表,修改表及列约束和表约束的设置

 此时在数据库关系图中将看到从sc表发出的指向student表的一根连线,该连线表示两个表之间的关系。

【Sql Server】创建表,修改表及列约束和表约束的设置

这样我们又可以看到sc表中又多了一把钥匙。

5.设置Check约束

实验要求

  1. 利用SSMS设置“student”表中“ssex”字段的CHECK约束,该字段值必须为“男”或“女”。

  2. 使用T-SQL语句修改数据库“teaching”中 “sc”表,创建CHECK约束使得score取值范围为0~100。

SSMS操作:

 【Sql Server】创建表,修改表及列约束和表约束的设置

 在右侧“常规”栏目的“表达式”文本框中输入“ssex='男' OR ssex='女'”,注意符号应该是英文半角字符。然后,单击“关闭”按钮,最后记得保存。

T-SQL语句操作

【Sql Server】创建表,修改表及列约束和表约束的设置

可以看到这时sc中的约束条件也创建成功了。  

6.设置默认值约束

实验要求

  1. 利用SSMS为“teaching”数据库“student”表中的“ssex”字段设置默认值约束为“男”;

  2. 使用T-SQL修改表时创建默认值约束,修改数据库“teaching”中的“student”表“en_time”字段,为其设置默认值约束,默认值为当前日期。

SSMS操作(直接输入默认值即可)

【Sql Server】创建表,修改表及列约束和表约束的设置

T-SQL语句操作

【Sql Server】创建表,修改表及列约束和表约束的设置

执行代码后查看此时默认值已经设置好了。

【Sql Server】创建表,修改表及列约束和表约束的设置

所有SQL代码如下 :

use teaching2
go 
create table course(
cno char(4) primary key,
cname varchar(20) not null,
classhour tinyint,
credit tinyint
)
go 
create table sc(
sno char(8) not null,
cno char(4) not null,
score tinyint null,
primary key (sno,cno)
)

use teaching2
go
alter table student
add email varchar(20)

use teaching2
go
alter table student
drop column email

use teaching2
go
alter table course
alter column cname varchar(32)

use teaching2
go
alter table student
drop constraint PK_student
go
alter table student
add constraint PK_stu primary key(sno)

use teaching2
go
alter table student
drop constraint IX_student

alter table student
add constraint IX_student unique(sname)



use teaching2
go
alter table sc 
add constraint FK_sc_course FOREIGN key(cno) references course(cno)


use teaching2
go
alter table sc 
add constraint CK_CJ check(score>=0 and score<=100)



use teaching2
go
alter table student
add constraint DF_EN default getdate() for en_time


总结

提示:这里对文章进行总结:
例如:以上使用的是SQL server2019所创建的teaching2数据库,实验内容为创建表、修改表及列约束和表约束的设置。其中约束比较重要。文章来源地址https://www.toymoban.com/news/detail-414218.html

到了这里,关于【Sql Server】创建表,修改表及列约束和表约束的设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SQL Server】数据库开发指南(九)详细讲解 MS-SQL 触发器的的创建、修改、应用与适用场景

    本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中。 本系列文章列表如下: 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南(一)数据库设计的核心概念和基本步骤 【SQL Server】数据库开发指南(二)MSSQL数据库开发对

    2024年02月08日
    浏览(51)
  • 4-表约束和表设计

    目录 1.表约束 1.1.什么是表约束? 1.2.为什么需要表约束? 1.3.常见的表约束 1.3.1.非空约束 not null ---a.查看非空约束 ---b.验证非空约束 1.3.2.唯一约束 unique ---a.查看唯一约束 ---b.验证唯一约束 ---PS:给某个字段只创建了唯一约束,没有指定非空约束。问:①这个字段能否插入

    2024年02月04日
    浏览(21)
  • MySQL:数据类型和表的约束

    学习语言的时候首先就是学习数据类型,数据类型起着为变量合理分配空间的作用。数据库同样需要合理使用空间,其次还可以约束SQL语句的正确性,所以同样需要数据类型。 1.0. 数据类型分类 分类 数据类型 解释 数值类型 BIT (M) 位类型。M指定位数,默认为1,范围1-64 BOOL

    2024年02月05日
    浏览(30)
  • 【数据库】MySQL数据约束和表关系详解

    目录 1.数据库约束 1.1约束类型 1.2NULL约束 1.3UNIQUE:唯一约束 1.4DEFAULT:默认值约束 1.5PRIMARY:主键约束 1.6FOREIGH KEY:外键约束 2.表的关系 2.1一对一 2.2一对多 2.3多对多 数据库中的数据保存在数据表中,在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候

    2024年02月04日
    浏览(35)
  • 轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)

    在项目中,正确设置数据表的限定条件是数据存储过程中的关键一步。我们频繁需要创建和修改表以管理各种业务数据。让我们深入学习创建和修改数据表的方法,以产品信息表( product_info )为例。 创建数据表 首先,让我们了解产品信息表的结构: product_id product_name cate

    2024年02月20日
    浏览(43)
  • 【错误记录】SQL Server Management Studio 修改数据库表报错 ( 不允许保存更改。您所做的更改要求删除并重新创建一下表。您对无法重新创建的表进行了更改或者启用了“阻止保存 )

    在 SQL Server Management Studio 中 , 修改数据库表报如下错误 : 不允许保存更改。您所做的更改要求删除并重新创建一下表。您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改“选项。 当您在 Microsoft Access 中尝试对表进行某些更改时,可能会收到以下错

    2024年02月16日
    浏览(45)
  • 【SQL Server】数据库开发指南(二)MSSQL数据库开发对于库、表、数据类型、约束等相关操作

    本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中。 本系列文章列表如下: 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南(一)数据库设计的核心概念和基本步骤 【SQL Server】数据库开发指南(二)MSSQL数据库开发对

    2023年04月09日
    浏览(46)
  • Sql Server增加字段、修改字段、修改类型、修改默认值

    1、修改字段名: alter table 表名 rename column A to B 2、修改字段类型: alter table 表名 alter column 字段名 type not null 3、修改字段默认值 alter table 表名 add default (0) for 字段名 with values 如果字段有默认值,则需要先删除字段的约束,在添加新的默认值, select c.name from sysconstraints a i

    2024年02月06日
    浏览(31)
  • SQL联结表及高级联结

    理解关系表的最好方法 是 来看 一个 现实 世界 中的 例子。 假如 有一个 包含 产品 目录 的 数据库 表, 其中 每种 类别 的 物品 占 一行。 对于 每种 物品 要 存储 的 信息 包括 产品 描述 和 价格, 以及 生产 该 产品 的 供应商 信息。 假如 有由 同一 供应商 生产 的 多种

    2024年01月17日
    浏览(29)
  • MySQL创建表及插入数据

    一、创建英雄表(hero)

    2024年01月17日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包