SQL实验:创建与修改数据库及表结构

需积分: 5 1 下载量 79 浏览量 更新于2024-08-26 收藏 97KB DOC 举报
本实验主要涉及使用SQL语言进行数据库的创建、修改和管理,特别是针对MySQL数据库系统的操作。实验目标在于让学习者熟悉常见的数据库管理系统,掌握基础的SQL语句,包括建表、插入数据、更新数据和删除数据,以及进行表结构的定义、修改和删除。实验内容分为两部分,分别在SQL Server 2005环境下通过图形界面和SQL语句执行操作。 实验步骤详细说明如下: 1. 首先,实验要求删除一个名为“订货管理”的数据库,这可以通过使用`DROP DATABASE 数据库名`语句来完成,例如:`DROP DATABASE 订货管理`。 2. 数据库的“分离”与“附加”操作,是数据库管理中的常见任务。“分离”使数据库与服务器断开连接,但保留数据文件,可以使用SQL Server Management Studio中的图形界面进行操作;“附加”则是将已分离的数据文件重新连接到服务器,同样可通过图形界面或SQL语句(如`ATTACH DATABASE '数据库名' AS 新数据库名`)完成。 3. 查看系统中的所有数据库,可以使用`SELECT * FROM sys.databases` SQL查询。 4. 要查看数据库“订货”的定义信息,可以查询系统视图,如`EXEC sp_helpdb '订货'`。 5. 对数据库进行重命名,可以使用`ALTER DATABASE 当前数据库名 MODIFY NAME = 新数据库名`,例如:`ALTER DATABASE 订货 MODIFY NAME = order`。 接下来,实验进入创建“XSGL”数据库的环节,该数据库包含了三个表:学生信息(student)、课程信息(course)和选课信息(sc)。这些表的结构如下: - student表:包含sno(学生编号,主键)、sname(学生姓名,不为空)、ssex(性别,默认值'男',取值'男'或'女')、sage(年龄,取值10-100)、sdept(专业名称)等字段。 - course表:包含cno(课程编号,主键)、cname(课程名称,唯一)、cpno(父课程编号)、credit(学分)等字段。 - sc表:包含sno(学生编号,主属性,外键)、cno(课程编号,主属性,外键)、grade(成绩,取值0-100)等字段。 在创建这些表时,可以使用`CREATE TABLE`语句,定义每个字段的名称、数据类型、长度和完整性约束,例如: ```sql CREATE TABLE student ( sno CHAR(10) PRIMARY KEY, sname CHAR(8) NOT NULL, ssex CHAR(2) DEFAULT '男' CHECK (ssex IN ('男', '女')), sage INT CHECK (sage BETWEEN 10 AND 100), sdept VARCHAR(10) ); ``` 对于数据的增、删、改操作,可以使用`INSERT INTO`、`UPDATE`和`DELETE`语句。例如,插入一条学生信息: ```sql INSERT INTO student (sno, sname, ssex, sage, sdept) VALUES ('001', '张三', '男', 20, '计算机'); ``` 更新一条记录: ```sql UPDATE student SET sage = 21 WHERE sno = '001'; ``` 删除一条记录: ```sql DELETE FROM student WHERE sno = '001'; ``` 通过这样的实践,学习者能够深入理解SQL语言在数据库管理和数据操作中的应用,提升数据库管理技能。