在文档"数据库操作练习.doc"中,我们看到了一系列与数据库管理相关的SQL命令,涉及数据库的创建、查询、删除,以及表的创建、插入数据、修改和删除等操作。以下是这些知识点的详细说明:
1. **创建数据库**:
使用`CREATE DATABASE`语句创建了一个名为`test`的数据库,指定数据文件(`test_data.mdf`)和日志文件(`test_log.ldf`)的位置、初始大小、最大大小及增长策略。例如:
```sql
CREATE DATABASE test
ON (NAME = test_data, FILENAME = 'D:\test\test_data.mdf', SIZE = 10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 1MB)
LOG ON (NAME = test_log, FILENAME = 'D:\test\test_log.ldf', SIZE = 1MB, MAXSIZE = 5MB, FILEGROWTH = 10%)
```
2. **查看数据库属性**:
`EXEC sp_helpdb test`是用于查看数据库`test`的基本信息,如文件信息、状态等。
3. **删除数据库**:
使用`DROP DATABASE`语句可以删除数据库,例如:
```sql
DROP DATABASE test
```
4. **创建表**:
在`test`数据库中创建了`student`、`couse`和`slt_couse`三个表。每个表都定义了其字段和约束,例如`student`表的定义:
```sql
CREATE TABLE student (
st_id nVarChar(9) primary key NOT NULL, -- 学生学号
st_nm nVarChar(8) NOT NULL, -- 学生姓名
st_sex nVarChar(2) NULL, -- 学生性别
st_birth datetime NULL, -- 出生日期
st_score int NULL, -- 入学成绩
st_date datetime NULL, -- 入学日期
st_from nVarChar(20) NULL, -- 学生来源
st_dpid nVarChar(2) NULL, -- 所在系编号
st_mnt tinyint NULL -- 学生职务
)
```
同理,`couse`和`slt_couse`表也进行了相应的定义。
5. **插入数据**:
使用`INSERT INTO`语句向表中插入数据,例如:
```sql
INSERT INTO couse VALUES ('C002', '高等数学', '60', '0')
```
6. **外键约束**:
在`slt_couse`表中,`cs_id`和`st_id`字段作为外键,分别引用`couse`和`student`表的主键,确保数据的完整性。
7. **修改表结构**:
对`dept`表进行列的添加、修改和删除操作:
- 添加列`dp_count`:
```sql
ALTER TABLE dept ADD dp_count nvarchar(3) NULL
```
- 修改列的数据类型:
```sql
ALTER TABLE dept ALTER COLUMN dp_count INT
```
- 删除列:
```sql
ALTER TABLE dept DROP COLUMN dp_count
```
8. **删除表**:
使用`DROP TABLE`语句删除`dept`表:
```sql
DROP TABLE dept
```
9. **继续插入数据**:
文件中还包含了对`student`和`slt_couse`表的更多数据插入操作,这有助于填充数据库并进行实际操作练习。
通过这个练习,我们可以掌握基本的SQL操作,包括数据库和表的管理,以及数据的插入、更新和删除,这些都是数据库管理和开发的基础技能。此外,理解外键约束和表结构的修改对于设计和维护数据库的正确性和一致性至关重要。