
首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,
启动SQL
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语句等向数据库中添加学生的各项具体数据了。
Create Table Students
(
StudentID Int,
StudentsName Varchar(32),
StudentsAge Int
)
Select From Students --查询
Update Students --修改
Set StudentsName = 'Adam'
Where StudentsID = '001'
Insert into Students --新增
Select '004','Rachel','20'
Delete Students --删除
WHere StudentsID = '004'
这只是最简单的内容,其中应该还要注意表结构中的主键,索引,自增栏等。。。
USE [master]
GO
CREATE DATABASE StudentManage ON PRIMARY
( NAME = N'StudentManage', FILENAME = N'D:\StudentManagemdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'StudentManage_log', FILENAME = N'D:\StudentManage_logldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
/学生管理数据库(StudentManage)创建完成,下面创建学生表(Student):/
USE [Jinlong]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo][Student](
[学号C9] [char](7) NOT NULL,
[姓名C10] [char](6) NULL,
[性别C2] [char](2) NULL,
CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED
(
[SID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
以SQLServer为例
create database 学生管理
on primary -- 默认就是属于primary文件组的,可省略
(
/--数据文件的具体描述--/
name='studb_data', -- 主数据文件的逻辑名称
filename='D:\studb_datamdf', -- 主数据文件的物理名称
size=5mb, --主数据文件的初始大小
maxsize=100mb, -- 主数据文件增长的最大值
filegrowth=15%--主数据文件的增长率
)
log on
(
/--日志文件的具体描述,各参数含义同上--/
name='studb_log',
filename='D:\studb_logldf',
size=2mb,
filegrowth=1mb
)
学生表 student
课程表 course
学生选课关系表 stucourse
create table student(sno number primary key,sname varchar2(20));
insert into student values(1,'alley');
insert into student values(2,'bob');
commit;
create table course(cno number primary key,cname varchar2(20));
insert into course values(1,'语文');
insert into course values(2,'数学');
commit;
create table stucourse(sno number,cno number);
alter table stucourse add constraint pk_stucource primary key(sno,cno);
insert into stucourse values(1,1);
insert into stucourse values(1,2);
insert into stucourse values(2,1);
commit;
2 select asname,ccname
from student a,stucourse b,course c
where asno = bsno and bcno=cno;
3 查询选修一门以上的学生,按学号从小到大排序
select asno, asname
from student a,stucourse b,course c
where asno = bsno and bcno=cno
group by asno,asname
having count(1)>=1
order by asno;
4、各用一条语句实现下列功能:添加表的列、更新表的某一字段值、删除表的列、删除表数据、修改表的名称。
alter table student add ssex varchar2(2);
update student set ssex='女';
alter table student drop column ssex;
delete from student where sno=1;
alter table student rename to studentnew;
5、在PL/SQL中执行SELECT语句:在某一实体表中,查询符合某一条件的记录,并显示相应的几个字段值
select sno, sname
from student
where sno=1;
6、用CASE语句实现一多分支结构
select case when sno=1 then '学号1‘ when sno=2 then '学号2' else '其他学号' end
from student;
也不算复杂吧,如果是SQL SERVER,我告诉你步骤吧。
1安装SQL SERVER,目前版本是2008,注意版本对应的 *** 作系统。
2安装完成后,在开始菜单打开SQL Server Management Studio,服务器名称默认,如果是空的,就输入一个 ,身份验证选择windows身份验证。
3登录后左侧菜单的菜单里找“数据库”,点开此节点后,在“数据库”菜单上点右键,选择“新建数据库”,点击后在d出的窗口信息里填写信息,填完后点确定,数据库就创建成功了,不过里面还没有表。
4新建表,点开你刚才建立的数据库后,找到“表”菜单,双击,然后在“表”菜单上点右键,选择“新建表”,输入你要填写的字段名,选择好类型,长度后,点击确定,就建好表了,这时再右键选中“表”菜单,选择“刷新”,刚才建立的表就可以显示出来了。
你应该总结出学生成绩查询需要几张表,我大概告诉你一下吧,最基本的3张,
1学生基本信息表
2学生考试科目表
3学生成绩表,这三张之间的关系你要是搞明白了,那学生成绩查询就不会有问题了。
以上就是关于如何用SQL建立一个学生成绩管理系统数据库 全部的内容,包括:如何用SQL建立一个学生成绩管理系统数据库 、建立一个关于学生的数据库,利用SQL语句进行增删改查、如何建立“学生管理”数据库,并在“学生管理”数据库中分别建立“学生基本情况表”求高手教一下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)