用mysql创建学生成绩表_用SQL创建学生成绩数据库

创建数据库school,这个数据库中包含四个表:分别是学生表、教师表、课程表和成绩表。

yqQZr2.jpg

yqQZr2.jpg

语法:

create database school;(创建数据库school)

show databases;(查看是否已经创建好)

drop database school;(删除数据库school,这里不必删除)

2.设计创建学生表、教师表、课程表和成绩表。

v2AnYf.jpg

v2AnYf.jpg

语法:

use school;

create table student(

sno varchar(20) not null,

sname varchar(20) not null,

ssex varchar(20) not null default’男’,

sbirthday datetime,

sclass varchar(20));

NVzqmu.jpg

NVzqmu.jpg

语法:

use school;

create table teacher(

tno varchar(20) not null,

tname varchar(20) not null,

tsex varchar(20) not null default’男’,

tbirthday datetime,

prof varchar(20) not null,

depart varchar(20));

bIbAvq.jpg

bIbAvq.jpg

语法:

use school;

create table course(

cno varchar(20) not null,

cname varchar(20) not null,

tno varchar(20) not null);

mE36Vr.jpg

mE36Vr.jpg

语法:

use school;

create table score(

sno varchar(20) not null,

cno varchar(20) not null,

degree decimal(4,1) not null);

显示所有表是否已经创建,可用以下语句:

Show tables from school;

aiEbE3.jpg

587089

3.添加主键和外键约束

ZJJjQb.jpg

ZJJjQb.jpg

语法:

对学生表添加主键约束:

alter table student

add constraint primary key(sno);

对成绩表添加外键约束:

alter table student

add constraint foreign key(sno)

references student(sno);

alter table student

add constraint foreign key(cno)

references course(cno);

对成绩表添加主键约束:

Alter table student

Add constraint primary key(sno,cno);

用语法将以上的主键和外键都添加约束:

alter table student

add constraint primary key(sno);

alter table teacher

add constraint primary key(tno);

alter table course

add constraint primary key(cno);

alter table course

add constraint foreign key(tno)

references teacher(tno);

alter table score

add constraint primary key(sno,cno);

alter table score

add constraint foreign key(cno)

references course(cno);

4.将以下学生信息插入到学生表中:

nUJzq2.jpg

nUJzq2.jpg

语法:

insert into student(sno,sname,ssex,sbirthday,sclass)

values(108,’曾华’,’男’,’1997-09-01′,95033);

insert into student(sno,sname,ssex,sbirthday,sclass)

values(105,’匡明’,’男’,’1975-10-02′,95031);

insert into student(sno,sname,ssex,sbirthday,sclass)

values(107,’王丽’,’女’,’1976-01-23′,95033);

insert into student(sno,sname,ssex,sbirthday,sclass)

values(101,’李军’,’男’,’1976-02-20′,95033);

insert into student(sno,sname,ssex,sbirthday,sclass)

values(109,’王芳’,’女’,’1975-02-10′,95031);

insert into student(sno,sname,ssex,sbirthday,sclass)

values(103,’陆君’,’男’,’1974-06-03′,95031);

select*from student;(查看是否所有信息都插入表中了)

结果如下:

nY3Mv2.jpg

nY3Mv2.jpg

5.将以下信息插入到教师表中:

uUrqUb.jpg

uUrqUb.jpg

语法:

insert into teacher(tno,tname,tsex,tbirthday,prof,depart)

values(804,’李诚’,’男’,’1958-12-02′,’副教授’,’计算机系’);

insert into teacher(tno,tname,tsex,tbirthday,prof,depart)

values(856,’张旭’,’男’,’1969-03-12′,’讲师’,’电子工程系’);

insert into teacher(tno,tname,tsex,tbirthday,prof,depart)

values(825,’王萍’,’女’,’1972-05-05′,’助教’,’计算机系’);

insert into teacher(tno,tname,tsex,tbirthday,prof,depart)

values(831,’刘冰’,’女’,’1977-08-14′,’助教’,’电子工程系’);

6.以下信息输入课程表表中

MRjI7j.jpg

587089

语法:

insert into course(cno,cname,tno)

values(‘3-105′,’计算机导论’,825);

insert into course(cno,cname,tno)

values(‘3-245′,’操作系统’,804);

insert into course(cno,cname,tno)

values(‘6-166′,’数据电路’,856);

insert into course(cno,cname,tno)

values(’19-888′,’高等数学’,831);

7.将以下信息输入成绩表中:

mu2AVn.jpg

587089

语法:

insert into score(sno,cno,degree)

values(103,’3-245′,86);

insert into score(sno,cno,degree)

values(105,’3-245′,75);

insert into score(sno,cno,degree)

values(109,’3-245′,68);

insert into score(sno,cno,degree)

values(103,’3-105′,92);

insert into score(sno,cno,degree)

values(105,’3-105′,88);

insert into score(sno,cno,degree)

values(109,’3-105′,76);

insert into score(sno,cno,degree)

values(101,’3-105′,64);

insert into score(sno,cno,degree)

values(107,’3-105′,91);

insert into score(sno,cno,degree)

values(108,’3-105′,78);

insert into score(sno,cno,degree)

values(101,’6-166′,85);

insert into score(sno,cno,degree)

values(107,’6-166′,79);

insert into score(sno,cno,degree)

values(108,’6-166′,81);

8.要求查询学生表中的sname、ssex和sclass列。

语法:

select sname,ssex,sclass

from student;

Rjye6r.jpg

587089

9.查询学生表中的所有记录。

语法:

Select*from student;

结果如下:

euyEBr.jpg

euyEBr.jpg

10.查询教师表中不同的系名,以及每个系有多少老师。(重点)

分析:

按系名分组(group by)

求每组有多少老师,即每组有几行?(count)

语法:

Select depart,count(*)

From teacher

Group by depart

IrYvmq.jpg

587089

11.查询成绩表中分数在60分到80分之间的所有记录

分析:

查询成绩表中的某些记录

这些记录一定满足60分到80分

语法:

Select*from score

Where degree between 60 and 80;

VJraQf.jpg

587089

12.查询成绩表中分数为85,86或88的记录。

分析:

查询成绩表中的某些记录

这些记录应满足成绩为85,86或88

这里用where子句:

方法a:使用关键字in

方法b:使用关键字or

语法a:

Select*from score

Where degree in(85,86,88);

3Iv22m.jpg

587089

语法b:

Select*from score

Where degree =85 or degree =86 or degree =88;

RFJNBj.jpg

587089

注:这里的or表示并且,不能用and(and表示交集)

13.查询学生表中“95031”班或性别为“女”的记录。

分析:

查询某些同学的记录

where子句筛选符合条件的行

语法a:

select*from student

where sclass=’95031′ or ssex=’女’;

MJ7rQr.jpg

MJ7rQr.jpg

语法b:

查询95031这个班级的所有同学的记录

查询性别为女的所有记录

用关键字union连接以上的查询语句。

select*from student where sclass=’95031′

union

select*from student where ssex=’女’;

EBfUzm.jpg

EBfUzm.jpg

14.查询所有不姓王的同学记录。

SQL语句:

select*from student

where sname not like ‘王%’;

rE7Vve.jpg

rE7Vve.jpg

15.以class降序来查询所有学生记录。

分析:

查询所有学生记录

用order by子句对查询结果进行降序排序

SQL语句:

select*from student

Order by sclass desc;

E3eaau.jpg

E3eaau.jpg

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值