数据库作业3——SQL语句的初步学习
建立自己所需要的用户(以wang为例,右键即可)
1.在用户下定义模式:
CREATE SCHEMA “s-t” AUTHORIZATION WANG;
==注:==在SQL语句中,并不区分大小写,如果没有指定模式名,则隐含为用户名。
一般来说,在建立模式的同时,我们应一并建立该模式下的基本表、视图等,如下:
CREATE SCHEMA TEST AUTHORIZATION WANG
CREATE TABLE TAB1 ( COL1 SMALLINT,
COL2 INT,
COL3 CHAR(20),
COL4 NUMERIC(10,3),
COL5 DECIMAL(5,2)
);
2.删除模式
在SQL中,删除语句如下:
DROP SCHEMA <模式名> <CASCADE|RESTRICT>;
其中,CASCADE和RESTRICT二者必选其一。CASDE表示为级联,删除模式同时把该模式所有数据库对象全部删除;RESTRICT意为限制,即在删除模式时,若该模式下已定义数据库对象,则拒绝删除。
基本表的定义、删除与修改
1.定义基本表
[例] 建立“学生”表Student`
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,Sno是主码*/
Sname CHAR(20) UNIQUE, /* Sname取唯一值*/
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
建立一个“课程”表Course
CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
);
建立一个学生选课表SC
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno,Cno),
/* 主码由两个属性构成,必须作为表级完整性进行定义*/
FOREIGN KEY (Sno) REFERENCES Student(Sno),
/* 表级完整性约束条件,Sno是外码,被参照表是Student */
FOREIGN KEY (Cno)REFERENCES Course(Cno)
/* 表级完整性约束条件, Cno是外码,被参照表是Course*/
);
2.删除基本表
删除语句:DROP TABLE <表名>[RESTRICT|CASCADE];
注:不同的数据库产品在遵循SQL标准的基础上具体实现细节和处理策略都会与标准略有差别。
3.修改基本表
随着环境与需求的变化,有时需要对基本表做出修改,一般格式为:
ALTER TABLE<表名>
[ADD[COLUMN]<新列名><数据类型>[完整性约束]]
[ADD<表级完整性约束>]
[DROP[COLUMN]<列名>[CASCADE|RESTRICT]]
[DROP CONSTRAINT<完整性约束名>[CASCADE|RESTRICT]]
[ALTER COLUMN<列名><数据类型>];