在SQL中,我们可以根据给定的信息来执行一系列的数据操作。我们创建两个表:`CourseType` 和 `Course`。 1)建表: `CourseType` 表用于存储课程类型的编码和说明,包含以下字段: - `CTno`:课程类型编码,主键,Char(2)类型。 - `CTinfo`:课程类型说明,Varchar(20)类型。 创建 `CourseType` 表的SQL语句如下: ```sql CREATE TABLE CourseType( CTno CHAR(2) PRIMARY KEY, CTinfo VARCHAR(20) ); ``` `Course` 表用于存储课程信息,包括课程编号、课程类型编码、课程名称、课程介绍、学分、学时、先修课程编号以及学期,包含以下字段: - `CourseNo`:课程编号,主键,Char(5)类型。 - `CTno`:课程类型编码,外键,Char(2)类型。 - `CourseName`:课程名称,Varchar(50)类型。 - `Cinfo`:课程介绍,Varchar(50)类型。 - `CCredits`:学分,Numeric(9,0)类型。 - `CTime`:学时,Numeric(9,0)类型。 - `CPno`:先修课程,外键,Char(5)类型。 - `CTerm`:学期,Char(11)类型。 创建 `Course` 表的SQL语句如下: ```sql CREATE TABLE Course ( CourseNo CHAR(5) PRIMARY KEY, CTno CHAR(2), CourseName VARCHAR(50), Cinfo VARCHAR(50), CCredits NUMERIC(9,0), CTime NUMERIC(9,0), CPno CHAR(5), CTerm CHAR(11), FOREIGN KEY (CTno) REFERENCES CourseType(CTno), FOREIGN KEY (CPno) REFERENCES Course(CourseNo) ); ``` 插入数据: ```sql INSERT INTO CourseType VALUES ('1', '1'); INSERT INTO Course VALUES ('1', '1', '数据库原理', '2220193816-赤凯', 6, 4, '1', 'NULL'); INSERT INTO Course VALUES ('2', '1', '数据库原理实验', '2220193816-赤凯', 3, 4, '2', 'NULL'); INSERT INTO Course VALUES ('3', '1', '数据库原理概论', '2220193816-赤凯', 1, 4, '3', 'NULL'); ``` 2)查询: - 查询所有以“数据库”打头的课程信息,按照学分的大小从小到大排序: ```sql SELECT * FROM Course WHERE CourseName LIKE '数据库原理%' ORDER BY CCredits; ``` - 统计课程类型编码不为“A”的课程的总学时: ```sql SELECT SUM(CTime) AS CCTime FROM Course WHERE CTno != 'A'; ``` - 删除所有课程类型不在 `CourseType` 表中列出的课程信息: ```sql DELETE FROM Course WHERE Course.CTno NOT IN (SELECT CTno FROM CourseType); ``` - 将对表“Course”查询的权限授权给用户“李四”,并且允许他将这个权限授权给其他人: ```sql -- 创建用户 CREATE LOGIN 李四 WITH PASSWORD = '11122222ck.'; CREATE USER 李四 FOR LOGIN 李四; -- 赋予权限 GRANT SELECT ON Course TO 李四 WITH GRANT OPTION; ``` - 对表 `Course` 增加一个约束:`CCredits` 字段取值范围在 0~6 之间: ```sql ALTER TABLE Course ADD CONSTRAINT cc CHECK (CCredits BETWEEN 0 AND 6); ``` 以上就是根据给定描述完成的所有SQL操作,包括建表、插入数据、查询、权限分配以及添加约束。这些操作涵盖了基本的SQL语句,如CREATE TABLE、INSERT INTO、SELECT、DELETE、GRANT以及ALTER TABLE,对于理解和操作数据库非常有帮助。
- 粉丝: 30
- 资源: 309
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0