spider

导航

 

<数据定义部分>

一.定义模式和删除模式

a.为用户定义一个模式学生—课程模式 S-T

CREATE  SCHEMA  "S-T"  AUTHORIZATION USER;

b.删除模式

DROP SCHEMA USER;

二.表的定义

a.建立一个“学生”表 Student

CREATE TABLE Student

                    (Sno  char(9)   PRIMARY KEY,

                      Sname  char(20)  UNIQUE,

                       Ssex      char(2),

                        Sage     SMALLINT,

                        Sdept   char(20)

                      )

b.建立一个“课程”表 Course

CREATE  TABLE Course(

                  Cno  char(4)  PRIMARY KEY,

                  Cname  char(40)   NOT NULL,

                  Cpno     char(4),

                  Ccredit  SMALLINT,

                  FOREIGN KEY (Cpno)  REFERENNCES  Course(Cno)

                  )

c.建立学生选课表 SC

CREATE TABLE SC(

           Sno  char(9)  ,

            Cno  char(4),

            Grade  SMALLINT,

            PRIMARY  KEY(Sno,Cno),

            FOREIGN KEY (Sno) REFERENCES Student(Sno),

            FOREIGN  KEY(Cno) REFERENCES Course(Cno)

           )

Student表

学号

Sno

姓名

Sname

性别

 Ssex

年龄

 Sage

所在系

 Sdept

201215121

李勇

20

CS

201215122

刘晨

19

CS

201215123

王敏

18

MA

201215125

张立

19

IS

Sno

 课程号

  Cno

  成绩

    Grade

201215121

1

 92

201215121 

2

85

201215121 

3

88

201215122

2

90

201215122

3

  • 80
                                                                                                          SC表

课程号

Cno

课程名

Cname

先行课

Cpno

学分

Ccredit

1

数据库

5

4

2

数学

 

2

3

信息系统

1

4

4

操作系统

6

3

5

数据结构

7

4

6

数据处理

 

2

7

PASCAL语言

6

4

Course表

二.删除基本表Student

    DROP   TABLE  Student

三.修改基本表

a.向Student表中增加“入学时间”列,其数据类型为日期型。

ALTER  TABLE Student ADD S_entrance  DATE

b.将年龄的数据类型由字符型修改为整形

ALTER TABLE Student ALTER COLUMN  Sage INT

 

<数据查询>

一.单表查询

1.查询全体学生的学号与姓名

SELECT Sno,Sname FROM Student

2.查询全体学生的姓名、学号、所在系

SELECT Sname,Sno,Sdept FROM Student

3.查询全体学生的详细记录

SELECT * FROM Student

4. 查全体学生的姓名及其出生年份

SELECT Sname,2019-Sage FROM  Student

5.查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示系名

SELECT Sname,2019-Sage,LOWER(Sdept)   FROM Student

6.查询选修了课程的学生学号

SELECT  DISTINCT Sno FROM  SC

7.查询计算机科学系全体学生的名单

SELECT * FROM Student

    WHERE Sdept = 'CS'

8.查询所有年龄在20岁以下的学生姓名及其年龄

SELECT Sname,Sage FROM Student 

     WHERE  Sage<20

9.查询考试成绩有不及格的学生的学号

SELECT Sno FROM SC

    WHERE  Grade<60

10.查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄

SELECT Sname ,Sdept,Sage  FROM Student

待更新···

posted on 2019-05-03 22:52  黑色spider  阅读(426)  评论(0编辑  收藏  举报