Sever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在d出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:学生表(student)
(学号(sno)
普通编码定长字符类型,长度7,主码,姓名(sname)
普通编码定长字符类型,长度8,非空,性别(ssex)
统一编码定长字符类型,长度1,年龄(sage)
微整型,所在系(sdept)
统一编码可变长字符类型,长度20)课程表(course)
(课程号(cno)
普通编码定长字符类型,长度6,主码,课程名(cname)
统一编码定长字符类型,长度10,非空,学分(credit)
小整型,学期(semester)
小整型)修课表(sc)(学号(sno)
普通编码定长字符类型,长度7,主码,外码课程号(cno)
普通编码定长字符类型,长度6,主码,外码成绩(grade)
小整型,修课类别(type)普通编码定长字符类型,长度4)则创建表的语句分别为:create
table
Student(Sno
char(7)
primary
key,Sname
char(8)
not
null,Ssex
nchar(1),Sage
tinyint,Sdept
nvarchar(20))create
table
Course(Cno
char(6)
primary
key,Cname
nchar(10)
not
null,Credit
smallint,Semester
smallint)create
table
SC(Sno
char(7),Cno
char(6),Grade
smallint,Type
char(4),primary
key(Sno,Cno),Foreign
key(Sno)
References
Student
(Sno),Foreign
key(Cno)
References
Course
(Cno))各表的结构大体如此,如有变化可自行修改。
以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。
SQL语言,是结构化查询语言(Structured
Query
Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
1、创建“学生-课程”数据库:将数据文件和日志文件都存放在D盘自已学号的目录下。其中数据文件和日志文件初始大小都为1MB,自动增长率都为10%。create database MyDB
on(
name='Student-SC',
filename='d:\自己学号\Student-SC.mdf',
size=1,filegrowth=10%)
log on
(name='Student-SClog',
filename='d:\自己学号\Student-SClog.ldf',
size=1,filegrowth=10%)
go
2、在“学生-课程”数据库创建“学生”表,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号设为主键约束,性别设置检查性约束。
use Student-SC
create table Student
(Sno char(5) primary key,
Sname varchar(20),
Ssex varchar(2),
Sage tinyint,
Sdept varchar(30),
check(Ssex in('男','女')))
go
3、查询“学生”表中全体学生的学号与姓名
select Sno,Sname from Student
4、查询年龄在20至23岁之间的学生的姓名、所在系和年龄
select Ssex,Sdept,Sage from Student where Sage between 20 and 23
5、 查所有姓刘的学生的姓名、学号和性别
select Sname,Sno,Ssex from Student where Sname like '刘%'
6、 查询“学生选课”表中成绩最高和成绩最低的记录,要求显示学号(Sno)、课程号(Cno)、成绩(Grade)三个属性
select Sno,Cno,Grade from SC group by Sno,Cno having max(Grade) or min(Grade)
7、使用内部联接查询并显示所有选修课程的同学的学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)、课程号(Cno)、成绩(Grade)属性
select SC.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC.Cno,SC.Grade from SC inner join Student on SC.Sno=Student.Sno
8、向“学生”表中插入如下记录:学号:’04160’、姓名:’王燕’、性别 :’女’、年龄:22、所在系: ’计算机科学系’
insert into Student values('04160','王燕','女',22,'计算机科学系')
9、将计算机科学系全体学生的成绩置零
update SC set Grade=0 where exists(select Sno,Sdept from Student where Student.Sno=SC.Sno and Student.Sdept='计算机科学系')
10、在“学生”表中,删除学号为’04160’同学的记录
delete from Student where Sno='04160'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)