创建基本表

CREATE TABLE course(
    Cno CHAR(4) PRIMARY KEY,        -- Cno是主键
    Cname CHAR(40) NOT NULL,        -- Cname不能为空
    Cpno CHAR(4),
    Ccredit SMALLINT,
    FOREIGN KEY(Cpno) REFERENCES course(Cno)   -- 外键
)

修改基本表

1.向student表增加“入学时间”列,其数据类型为日期类型

ALTER TABLE student ADD s_entrance DATE;

2.将年龄的数据类型由字符型改为整数

ALTER TABLE student ALTER COLUMN Sage INT;

3.增加课程名称必须采取唯一值的约束条件

ALTER TABLE course ADD UNIQUE(Cname);

删除基本表

DROP TABLE <表名> [RESTRICT|CASCADE];

若选择RESTRICT,则该表删除的是有限制条件的。欲删除的基本表不能被其他表的约束所引用,不能有视图,不能有触发器等等
若选择CASCADE,则该表删除的没有有限制条件。再删除基本表的同时,相关的依赖也一同删除(如外键、视图等等)

索引的建立与删除

常见索引类型:B+树索引,hash索引

1.建立索引

CREATE [UNIQUE][CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序>]...]

UNIQUE是唯一索引,CLUSTER是聚簇索引
次序默认是ASC

例题:
给student表按学号升序建立唯一索引,course表按照课程号升序建立唯一索引,sc表按照学号升序和课程号降序建立唯一索引。

CREATE UNIQUE INDEX Stusno ON student(Sno);
CREATE UNIQUE INDEX Coucno ON course(Cno);
CREATE UNIQUE INDEX SCno ON sc(Sno Asc, Cno DESC);

1.修改索引

ALTER INDEX <旧索引名> RENAME TO <新索引名>
例题
将sc表的SCno 索引名改为SCSno

ALTER INDEX SCno RENAME TO SCSno;

3.删除索引

DROP INDEX <索引名>
例题
删除student表的Stusname索引

DROP INDEX Stusname;
最后修改:2021 年 07 月 04 日 06 : 02 PM
如果觉得我的文章对你有用,请随意赞赏