SQL server建立学生库(大学生入门---交互式和命令式)

学生课程数据库

一、建库

create database xs

1.选择数据库右击,选择"新建数据库"

  1. 输入数据库名(版本不一样界面也不一样),大小默认,随后点击确定

二、建表

(1)学生信息表

create table student

(sno int primary key,

sname varchar(50),

ssex varchar(10) check(ssex='男' or ssex='女'),

sage int check(sage>17),

sdept varchar(10))

1.选择新建的数据库"xs"右击选着"新建表"

2.按照给定的列输入列名和数据类型

3.选择sno列右键添加主键

  1. 选择ssex列添加约束如图

5.选择sage列添加约束如图

6.保存命名

(2)建立course表

create table course

(cno int unique,

cname varchar(50),

cpno int foreign key references course(cno),

ccredit int)

  1. 按照上述方式建表,列名和数据类型如下(注意一点要√允许为空,本表不设主键)

2.选择第一列添加索引,改为"唯一值"

  1. 为cpno列添加外键
  1. 保存命名

(3)创建sc表

create table sc

(sno int foreign key references student(sno),

cno int foreign key references course(cno),

grade int check(grade>=0 and grade<=100))

1.按照上述过程建表,列名和数据类型如下图

  1. 选择sno列右键选择"关系"建立外键关系

  1. 选择cno列右键选择"关系"添加外键关系
  1. 选择grade列右键选择"check约束",按图所示添加约束

三、向表中添加数据

(1)

insert into student

values

(201215121,'李勇','男',20,'CS'),

(201215122,'刘晨','女',19,'CS'),

(201215124,'王敏','女',18,'MA'),

(201215125,'张立','男',19,'IS')

(2)course表中有参照完整性约束所以不能直接按顺序输入数据,需要将参照值为null的数据线录入

insert into course

values

(2,'数学',null,2),

(6,'数据处理',null,2),

(4,'操作系统',6,3),

(7,'PASCL语言',6,4),

(5,'数据结构',7,4),

(1,'数据库',5,4),

(3,'操作系统',1,4)

(3)

insert into sc

values

(201215121,1,92),

(201215121,2,85),

(201215121,3,88),

(201215122,2,90),

(201215121,3,80)

相关推荐
java_logo39 分钟前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
李白客2 小时前
AI 数据库落地 NL2SQL:准确率卡在四成,问题在表注释不在模型
数据库
FluxDB2 小时前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
杨航 AI2 小时前
JEV的用法
java·前端·数据库
数据库小学妹3 小时前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba
风翼靓崽3 小时前
mysql数据备份/恢复
数据库·mysql
贝锐4 小时前
金仓、达梦、TDSQL全适配:向日葵补齐信创数据库层远程运维能力
运维·数据库·信创
xixiaoyunya4 小时前
Redis缓存三大问题实战:穿透、击穿、雪崩,我用一个电商秒杀场景讲清楚
数据库·redis·缓存
这个DBA有点耶5 小时前
Merge还是Materialize?一文讲透MySQL 8.0 CTE底层的执行计划博弈与性能陷阱
数据库·mysql·架构
Thanks_ks6 小时前
MySQL 的 REPEATABLE READ 到底能不能防幻读——从快照读、当前读到 Next-Key Lock
数据库·mysql·innodb·mvcc·锁机制·事务隔离级别·间隙锁