【实验二】【创建表并输入数据】

222 阅读4分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

在实验一的基础上:数据库XSCJ,初始大小20MB,自动增长/最大大小1MB,收缩百分比50%

目的表

XSQK--学生情况

在这里插入图片描述

KC--课程

在这里插入图片描述

XS_KC--学生_课程

在这里插入图片描述

T-SQL创建表

1)新建查询

单击“标准”工具栏“新建查询”

2)切换数据库

在“SQL编辑器”工具栏单击“可用数据库”下拉按钮-->将当前数据库切换成“XSCJ”

在这里插入图片描述

3)输入T-SQL查询语句创建表

XSQK--学生情况

CREATE TABLE XSQK
(学号  CHAR(6) NOT NULL,
姓名  CHAR(8) NOT NULL,
性别  CHAR(2) NOT NULL,
出生日期 SMALLDATETIME NOT NULL,
专业名  CHAR(10) NOT NULL,
联系电话  CHAR(11),
备注  TEXT,
CONSTRAINT  PK_XSQK_XH  PRIMARY KEY(学号),
CONSTRAINT  UQ_XSQK_DH  UNIQUE(姓名),
CONSTRAINT  CK_XSQK_DH  CHECK(联系电话  LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'))
GO

KC--课程

CREATE TABLE KC
(课程号 CHAR(3) NOT NULL PRIMARY KEY(课程号),
课程名 CHAR(20) NOT NULL,
授课教师 CHAR(8),
开课学期  TINYINT  NOT NULL DEFAULT 1,
学时 TINYINT NOT NULL,
学分 TINYINT,
CONSTRAINT CK_KC_XQ CHECK(开课学期>=1 AND 开课学期<=8))
GO

XS_KC--学生_课程

CREATE TABLE XS_KC
(学号 CHAR(6) NOT NULL  REFERENCES XSQK(学号),
课程号 CHAR(3) NOT NULL,
成绩 TINYINT CHECK(成绩>=0 AND 成绩<=100),
PRIMARY KEY(学号,课程号),
FOREIGN KEY(课程号) REFERENCES KC(课程号))
GO

在这里插入图片描述

4)执行命令

在“SQL编辑器”工具栏中单击“执行”

5)查看表

在“对象资源管理器”中单击“XSCJ”数据库-->单击“刷新” 在这里插入图片描述

SSMS创建表

单击“目标数据库”-->右键“表”-->“新建”-->“表”-->弹出表设计器窗口-->设置字段名、字段类型、是否可以为null-->保存

XSQK--学生情况

在这里插入图片描述

设置主键

右键“姓名”-->“设置主键” 在这里插入图片描述

KC--课程

在这里插入图片描述

设置列属性

单击某条字段后下方“列属性”可以进行设置,这里将默认值设置为1: 在这里插入图片描述

设置约束

右键需要设置约束的字段-->单击“CHECK约束”-->添加约束-->设置表达式 在这里插入图片描述 (这里题目要求设置约束值为1~8,使用AND连接两个条件) 注意AND语句后面语法:字段 符号 最大值 在这里插入图片描述

XS_KC--学生_课程

在这里插入图片描述

设置主键外键

  • 一张表的某个字段如果是外键,表示该字段是另外一张表的主键!

  • 建立关系时,数据类型必须一致!

设置外键时,右键需要设置外键的字段-->单击“关系”-->“常规”-->“表和列规范”-->单击···设置外键关系 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 这里报错如下: 在这里插入图片描述 考虑题目中XSQK表将“姓名”字段设置成主键错误,这里将XSQK表的主键修改为“学号”在这里插入图片描述 在这里插入图片描述 设置组合主键时,按住shift,再点击你要选中的列就ok了 在这里插入图片描述

设置约束

这里对“成绩”字段进行约束(成绩区间为0~100) 注意AND语句后面语法:字段 符号 最大值 在这里插入图片描述

查看创建的表(SQL创建)

右键需要查看的表-->单击“设计”

XSQK--学生情况

在这里插入图片描述

KC--课程

这里与题目要求稍有不同,“学时”字段可以为空。 在这里插入图片描述 做以下修改:

ALTER TABLE KC
MODIFY column 学时 TINYINT DEFAULT NULL;#可以为空
GO

这里已经删除SQL语句创建的表,不再做修改演示

XS_KC--学生_课程

在这里插入图片描述

手动添加数据

右键需要添加数据的表-->“编辑前200行”-->手动添加数据

XSQK--学生情况

在这里插入图片描述

KC--课程

在这里插入图片描述

XS_KC--学生_课程

在这里插入图片描述

注意

添加信息须注意约束,修改内容时也要注意约束,添加每一条数据须完整才能下一条

表的其他操作

在这里插入图片描述

删除数据

在上面手动填充的数据基础上,进行以下删除操作: 直接删除XSQK表中的数据: 在这里插入图片描述 这里因为主表XS_KC中用到了从表XSQK中的“学号”字段,因此不能直接删除XS_KC表中的数据 这里查看一下数据库关系图: 单击所在数据库XSCJ-->右键“数据库关系图”-->“新建数据库关系图”-->添加表,这里可以按住shift全部选中 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 删除成功

注意:

  • 删除记录后不可以恢复
  • 可以同时删除多条记录
  • 先删除从表中的相关记录,然后才能删除主表中的相关的记录

Reference

强推:SQL server SSMS图形界面实现(创建表、约束、关系图)/文CSDN@自学之路←_←

SQL server 中设置CHECK约束/文CSDN@烟敛寒林o

sqlserver设置两个及两个以上主键/文CSDN@不坠青云之志

[SqlServer]SQL Server创建约束图解/文博客园@Masonlu

mysql修改字段属性及修改是否非空/文CSDN@Rm_and_Rf