创建数据库与表结构详解:stuinfo表设计与SQL操作

需积分: 0 0 下载量 177 浏览量 更新于2024-08-04 收藏 4KB MD 举报
本文档主要介绍了如何在SQL中创建和管理数据库以及相关的表结构设计。首先,我们关注于数据库的创建和表的初始化操作。 1. **创建数据库**: 文档开始讲述了如何使用SQL语句创建数据库,例如`CREATE DATABASE studiinfo`,这一步是数据库管理的基础,它为后续的数据存储提供了框架。 2. **创建表**: 文档列举了几个关键的表结构示例: - `major` 表:用于存储专业信息,包括主键`mno`(可能表示专业编号)和`mname`(专业名称,类型为`VARCHAR(20)`)。 - `stu` 表:学生表,包含`sno`(学号,主键),`sname`(姓名,`VARCHAR(30)`),`age`(年龄,`INT`),`sex`(性别,`BIT`),以及与`major`表关联的外键`mno`,通过`FOREIGN KEY`约束确保数据一致性。 - `con` 表:课程表,记录课程信息,如`cno`(课程编号,主键)、`cname`(课程名,`VARCHAR(30)`)、`ctime`(学时,`SMALLINT`)和`ccredit`(学分,`DECIMAL(4,2)`)。 - `sc` 表:选修课程表,存储学生选课信息,包含`sno`(外键,引用`stu`表的学号)、`cno`(课程编号,主键,外键引用`con`表的`cno`)、`grade`(成绩,`DECIMAL(5,2)`)。还提到添加外键约束`fk_scforeignkey`来进一步加强数据完整性。 3. **表结构修改**:文档展示了如何在已有表的基础上进行增删改操作,如向`stu`表添加新字段`qq`(可能表示QQ号,`VARCHAR(20)`),以及删除`qq`字段,以及创建和删除表`t`(如教学时间表`t`)的示例。 4. **插入数据**:文档中演示了如何使用`INSERT INTO`语句向`major`表中插入特定的专业信息,并确保`mno`为主键,具有唯一性。 该文档详细介绍了在关系型数据库中创建和维护基本表结构的过程,包括表的设计、字段定义、主键和外键的使用,以及数据的插入和表结构的调整。这些是数据库管理系统中的核心概念,对于理解和操作数据库至关重要。