数据库练习

这篇博客介绍了如何使用SQL创建和管理数据库,包括创建学生、课程和选课三张表,以及进行增删改查等操作。内容涵盖表结构设计、添加和修改列、删除列、插入数据、查询学生信息、选课情况、成绩统计等多个方面。
摘要由CSDN通过智能技术生成

表1-1 Student表结构
-- 列名    说明    数据类型    约束
-- Sno    学号    字符串,长度为7    主码
-- Sname    姓名    字符串,长度为10    非空
-- Ssex    性别    字符串,长度为2    取‘男’或‘女’
-- Sage    年龄    整数    取值15~45
-- Sdept    所在系    字符串,长度为20    默认为‘计算机系’

 表1-2Course表结构
-- 列名    说明    数据类型    约束
-- Cno    课程号    字符串,长度为10    主码
-- Cname    课程名    字符串,长度为20    非空
-- Ccredit    学分    整数    取值大于0
-- Semster    学期    整数    取值大于0
-- Period    学时    整数    取值大于0

表1-3 SC表结构
-- 列名    说明    数据类型    约束
-- Sno    学号    字符串,长度为7    主码,引用Student的外码
-- Cno    课程名    字符串,长度为10    主码,引用Course
-- Grade    成绩    整数    取值0~100

create database xsb charset=utf8;
use xsb;
-- 题1:用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),
create table Student(
Sno varchar(7) primary key,
Sname varchar(10) not null,
Ssex varchar(2),
Sage int check(Sage>=15 and Sage<=45),
Sdept varchar(20) default '计算机系'
)
create table Course(
Cno varchar(10) primary key,
Cname varchar(20) not null,
Ccredit int check(Ccredit>0),
Semster int check(Semster>0),
Period int check(Period>0)
)
create table SC(
Sno varchar(7),
Cno varchar(10),
primary key(Sno,Cno),
-- 引用Student 的外码
foreign key (Sno) references Student(Sno),
-- 引用Course
foreign key (Cno) references Course(Cno),
Grade int check(Grade>=0 and Grade<=100)
)
-- 题2:为SC表添加“选课类别”列,此列的定义为XKLB char(4).
alter table SC add XKLB char(4);
-- 题3:将新添加的XKLB的类型改为char(6)
alter table SC MODIFY COLUMN XKLB char(6);
-- 题4:删除Course表的Period列
alter table Course drop Period;
-- 题5:用sql语句填写以上(表3-1 Student表数据、表3-2 Course表数据、表 3-3 SC表数据)数据
insert into Student values
(9512101,'李勇','男',19,'计算机系'),
(9512102,'刘晨','男',20,'计算机系&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值