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)

相关推荐
贺今宵2 分钟前
Vue 3 + Capacitor 使用jeep-sqlite,web端使用本地sqlite数据库
前端·数据库·vue.js·sqlite·web
列星随旋7 分钟前
MySQL面经整理
数据库·mysql
AllData公司负责人7 分钟前
大模型赋能AllData数据中台,系列升级|通过联合智谱大模型与Chat2DB开源项目,建设Text2SQL生产场景全新体验的数据源平台!
数据库·人工智能·text2sql·数据中台·数据源·chat2db·智谱大模型
minji...1 小时前
MySQL数据库 (四) MySQL的数据类型,tinyint,float,decimal,枚举enum和集合set
数据库·mysql·tinyint·enum·decimal·varchar·bit
阿演1 小时前
DataDjinn 新版本更新:国产数据库支持、连接树体验、AI 查询和表格编辑继续增强
数据库·人工智能·ai·ai编程
一只fish2 小时前
Oracle官方文档翻译《Database Concepts 26ai》附录-术语表
数据库·oracle
一只fish2 小时前
Oracle官方文档翻译《Database Concepts 26ai》第23章-数据库开发者概念
数据库·oracle
todoitbo2 小时前
从 MySQL 到 KingbaseES:Database、Schema、User 一次讲透
数据库·mysql·国产数据库·kingbasees
勇往直前plus2 小时前
Redis&Python 梳理
数据库·redis·python
千云2 小时前
100w大表0停机回滚:我们为什么放弃Undo Log,选择表名切换?
数据库·后端·mysql