请问答文件的每一个问题
时间: 2024-10-23 08:06:25 浏览: 17
你必须知道的495个C语言问题
### 数据库的建立、删除和修改操作
1. **创建数据库EDUC**
- 使用以下SQL语句创建数据库 `EDUC` 并进行相关设置:
```sql
CREATE DATABASE EDUC
ON PRIMARY (
NAME = Student_data,
FILENAME = 'C:\DATABASE\Student_data.MDF',
SIZE = 5MB,
FILEGROWTH = 1MB
)
LOG ON (
NAME = Student_log,
FILENAME = 'C:\DATABASE\Student_log.LDF',
SIZE = 2MB,
FILEGROWTH = 10%
);
```
2. **添加数据文件**
- 使用以下SQL语句在数据库 `EDUC` 中添加一个新的数据文件:
```sql
ALTER DATABASE EDUC
ADD FILE (
NAME = Student_data1,
FILENAME = 'C:\DATABASE\Student_data1.NDF',
SIZE = 2MB,
FILEGROWTH = 10%
);
```
3. **修改数据文件**
- 使用以下SQL语句修改数据文件 `Student_data1` 的初始大小和文件增长量:
```sql
ALTER DATABASE EDUC
MODIFY FILE (
NAME = Student_data1,
SIZE = 5MB,
FILEGROWTH = 2MB,
MAXSIZE = 1GB
);
```
4. **删除数据文件**
- 使用以下SQL语句删除数据文件 `Student_data1`:
```sql
ALTER DATABASE EDUC
REMOVE FILE Student_data1;
```
### 数据表的建立、删除和修改操作
1. **创建数据表**
- 在数据库 `EDUC` 中创建三个基本表 `student`、`course` 和 `sc`:
```sql
USE EDUC;
CREATE TABLE student (
sno CHAR(9) NOT NULL PRIMARY KEY,
sname CHAR(20) NOT NULL,
ssex CHAR(2),
sage SMALLINT,
sdept CHAR(20) DEFAULT '互联网学院'
);
CREATE TABLE course (
cno CHAR(4) NOT NULL PRIMARY KEY,
cname CHAR(40) NOT NULL,
cpno CHAR(4),
ccredit SMALLINT,
FOREIGN KEY (cpno) REFERENCES course(cno)
);
CREATE TABLE sc (
sno CHAR(9) NOT NULL,
cno CHAR(4) NOT NULL,
grade SMALLINT CHECK (grade >= 0 AND grade <= 100),
PRIMARY KEY (sno, cno),
FOREIGN KEY (sno) REFERENCES student(sno),
FOREIGN KEY (cno) REFERENCES course(cno)
);
```
2. **修改列数据类型**
- 将 `student` 表中的 `sname` 列的数据类型改为 `CHAR(40)`:
```sql
ALTER TABLE student
ALTER COLUMN sname CHAR(40);
```
3. **添加新列**
- 在 `student` 表中添加新列 `高考成绩`,数据类型为 `int`:
```sql
ALTER TABLE student
ADD 高考成绩 INT;
```
4. **删除列**
- 删除 `student` 表中的 `高考成绩` 列:
```sql
ALTER TABLE student
DROP COLUMN 高考成绩;
```
5. **设置列不允许为空**
- 设置 `student` 表中的 `sage` 列不允许为空:
```sql
ALTER TABLE student
ALTER COLUMN sage SMALLINT NOT NULL;
```
6. **设置列的取值范围**
- 设置 `course` 表中的 `ccredit` 列的取值范围为 1-3:
```sql
ALTER TABLE course
ADD CONSTRAINT CK_ccredit CHECK (ccredit BETWEEN 1 AND 3);
```
### 模式的建立、删除和修改操作
1. **创建模式**
- 为 `guest` 用户创建 `ST` 模式,并在该模式下创建 `STUDENT` 表:
```sql
USE EDUC;
CREATE SCHEMA ST AUTHORIZATION guest;
CREATE TABLE ST.STUDENT (
sno CHAR(9) NOT NULL PRIMARY KEY,
sname CHAR(20) NOT NULL,
ssex CHAR(2),
sage SMALLINT,
sdept CHAR(20) DEFAULT '互联网学院'
);
```
2. **删除模式**
- 如果直接删除 `ST` 模式会失败,因为该模式下存在对象(例如 `STUDENT` 表)。需要先删除该模式下的所有对象,然后才能删除模式:
```sql
-- 先删除表
DROP TABLE ST.STUDENT;
-- 再删除模式
DROP SCHEMA ST;
```
阅读全文