天天看点

交互式SQL(数据定义部分)

  1. 在Oracle Database XE 的SQL命令窗口中,使用SQL语言定义Student表,该表的结构描述如下:

    表3.1 Student表结构

    列名 数据类型 是否为空 约束

    Sno CHAR(9) 否 该列为主码

    Sname VARCHAR2(10) 否

    Ssex CHAR(4) 否 要求性别只能为男或女

    Sage NUMBER(2) 否 年龄限制在16到25之间(包含)

    Sdept CHAR(4) 可以

注意,主码的定义和约束条件的定义。

2. 在SQL*Plus环境下,使用SQL语言定义Course表,该表的结构描述如下:

表3.2 Course表结构

列名 数据类型 是否为空 约束

Cno CHAR(2) 否 该列为主码

Cname CHAR(14) 否

Cpno CHAR(2) 是 该列为外码

CCredit NUMBER(1) 否

注意,要将Cno定义为主码,Cpno定义为外码。

3. 在SQL*Plus环境下,使用SQL语言定义Course表,该表的结构描述如下:

表3.3 SC表结构

列名 数据类型 是否为空 约束

Sno CHAR(9) 否 该列为外码

Cno CHAR(2) 否 该列为外码

Grade NUMBER(3) 是

注意,该表的主码为Sno和Cno的组合,同时Sno和Cno都是外码。要求定义表时定义这些主码和外码。

4. 插入数据

使用INSERT语句将下面三个表中的数据插入到相应的表中。可以使用SELECT语句查看表中的数据。

表3.4 Student表数据

Sno Sname Ssex Sage Sdept

200215121 李勇 男 20 CS

200215122 刘晨 女 19 IS

200215123 王敏 女 18 MA

200215125 张立 男 19 IS

表3.5 Course表数据

Cno Cname Cpno Ccredit

1 数据库 5 4

2 数学 2

3 信息系统 1 4

4 操作系统 6 3

5 数据结构 7 4

6 数据处理 2

7 PASCAL语言 6 4

表3.6 SC表数据

Sno Cno Grade

200215121 1 92

200215121 2 85

200215121 3 88

200215122 2 90

200215122 3 80

200215123 4 87

200215123 5 92

  1. 使用ALTER TABLE 语句修改Student表为其增加一个BirthDay列,类型为DATE。
交互式SQL(数据定义部分)
交互式SQL(数据定义部分)