本资源主要涉及SQL语言的实践应用,包括创建数据库中的三个关键表——`student`, `sc`, `course`,以及对这些表进行基本的CRUD(创建、读取、更新、删除)操作。这里我们将详细探讨SQL语句的编写方法以及如何在特定场景下使用它们。
一、创建表
1. `student`表创建语句:
```sql
CREATE TABLE student (
Sno CHAR(6) PRIMARY KEY,
Sname VARCHAR(8),
Ssex CHAR(2),
Sage SMALLINT,
Sdept VARCHAR(15)
);
```
2. `course`表创建语句:
```sql
CREATE TABLE course (
Cno CHAR(4) PRIMARY KEY,
Cname VARCHAR(20),
Cpno CHAR(4),
Ccredit TINYINT
);
```
3. `sc`表创建语句:
```sql
CREATE TABLE sc (
Sno CHAR(6) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade DECIMAL(12,2),
PRIMARY KEY (Sno, Cno)
);
```
二、插入数据
1. 插入`student`表信息:
```sql
INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept)
VALUES ('4001', '赵茵', '男', 20, 'SX'),
('4002', '杨华', '女', 21, 'JSJ');
```
三、删除操作
1. 删除`student`表中的元组:
```sql
DELETE FROM student WHERE Sno = '4001';
```
2. 在数据库`schoool`中删除`student`关系:
```sql
DROP TABLE IF EXISTS student;
```
3. 在`student`表中添加`sbirthdate`属性:
```sql
ALTER TABLE student ADD sbirthdate DATETIME;
```
四、删除记录
1. 删除所有JSJ系的男生:
```sql
DELETE FROM student WHERE Sdept = 'JSJ' AND Ssex = '男';
```
2. 删除“数据库原理”课程的选课记录:
```sql
DELETE FROM sc WHERE Cno IN (SELECT Cno FROM course WHERE Cname = '数据库原理');
```
五、更新操作
1. 修改0001学生的系科为: JSJ:
```sql
UPDATE student SET Sdept = 'JSJ' WHERE Sno = '0001';
```
2. 把陈小明的年龄加1岁,性别改为"女":
```sql
UPDATE student SET Sage = Sage + 1, Ssex = '女' WHERE Sname = '陈小明';
```
以上就是根据题目提供的信息所涉及的SQL知识点,包括表的创建、数据插入、元组删除、表的删除以及属性添加,以及对数据的删除和更新操作。通过这些练习,可以加深对SQL语言基本操作的理解和掌握。