数据库操作实例:添加、修改、查询与索引

需积分: 1 0 下载量 143 浏览量 更新于2024-09-07 收藏 212KB DOCX 举报
本文档提供了一系列关于数据库操作的实例,涵盖了SQL语言的基本操作,对不同层次的学习者都有实用价值。首先,我们了解了一些基础的数据库维护和结构调整: 1. **添加和修改字段类型**: - `ALTER TABLE student ADD COLUMN date DATE;` 说明了如何向学生表中添加一个新列"入学时间",数据类型设定为日期型,这对于表结构的扩展或更新非常关键。 2. **数据类型转换**: - `ALTER TABLE student MODIFY age SMALLINT;` 这个例子展示了如何将年龄字段的类型从其他类型改为半长整数,有助于优化存储空间和处理范围。 3. **表的创建和删除**: - `DROP TABLE student;` 是删除表的操作,用于清理不再需要的数据结构。 - 创建索引以提高查询效率,例如:`CREATE UNIQUE INDEX stusnoon ON student (sno ASC);` 说明了如何为学号创建一个唯一的升序索引,以及`CREATE UNIQUE INDEX scnoon ON SC (sno ASC, cno DESC);` 对SC表的索引设置。 接着是针对数据检索的查询操作: 4. **基本查询**: - 查询全体学生的学号和姓名:`SELECT sno, sname FROM student;` - 获取详细信息:`SELECT * FROM student;` 包含所有字段的信息。 - 按条件获取特定信息:如查询姓名和出生年份的差值(2019年出生的):`SELECT sname, 2019 - age FROM student;` 5. **筛选和格式化数据**: - 查询并处理系别:如要求用小写表示系名:`SELECT sname, 'Year of Birth:', 2019 - age, lower(sdept) FROM student;` - 通过条件筛选特定数据:如查找选修过课程的学生学号:`SELECT DISTINCT sno FROM SC;` 或特定系别的学生名单:`SELECT sname FROM student WHERE sdept = 'CS';` 6. **范围查询**: - 检索年龄限制:`SELECT sname, age FROM student WHERE age < 20;` - 两个范围值之间的数据:`SELECT sname, sdept, age FROM student WHERE age BETWEEN 20 AND 23;` 最后,涉及到集合查询: 7. **根据部门筛选**: - 获取特定系别的学生信息:`SELECT sname, ssex FROM student WHERE dept IN ('IS', 'MA', 'CS');` 这里筛选出信息系、数学系和计算机科学系的学生姓名和性别。 这些实例涵盖了数据库的基本操作,包括表结构管理、查询构造和数据筛选,是学习数据库管理和SQL语言的重要实践材料。通过这些实例,无论是初学者还是进阶用户都能加深对SQL语法的理解,并提升实际应用能力。