SQL语句实例解析:表操作与视图创建
需积分: 9 22 浏览量
更新于2024-10-09
收藏 125KB DOC 举报
"SQL语句学习手册实例版,包含了创建、删除、修改表以及视图操作的示例。"
在数据库管理系统中,SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。以下是对给定内容中涉及的SQL知识点的详细解释:
1. **创建表**:`CREATE TABLE` 语句用于创建新的数据库表。例如,`STUDENTS` 表定义了学号(SNO)、姓名(SNAME)、年龄(AGE)、性别(SEX)和出生地(BPLACE),其中SNO为主键。而`ENROLLS` 表则包含了学号(SNO)、课程号(CNO)和成绩(GRADE),SNO和CNO共同构成主键,且CNO和SNO分别参照`STUDENTS`和`COURSES`表,实现了外键约束,同时限制了GRADE的取值范围。
2. **筛选数据**:`SELECT` 语句可以用于从表中选择特定的数据。例如,创建`GIRL` 表时,从`STUDENTS`表中选择了学号、姓名和年龄,条件是性别为'女'。
3. **删除表**:`DROP TABLE` 语句用于删除已存在的表,如删除`TEACHER`表。
4. **添加列**:`ALTER TABLE` 语句可以用于向已有表中添加列,例如在`TEACHERS`表中添加住址(ADDR)列。
5. **删除列**:`ALTER TABLE` 语句也可以删除列,如`DROP BPLACE` 会删除`STUDENTS`表的出生地列,并同时删除所有引用该列的视图和约束,`CASCADE` 关键字确保了级联删除。
6. **定义主键**:`ADD PRIMARY KEY` 用于补充或修改表的主键,例如在`ENROLLS`表中定义了(SNO, CNO)为主键。
7. **创建视图**:视图是虚拟表,不实际存储数据,但可以通过`CREATE VIEW`语句创建。`FACULTY` 视图展示了教师号、姓名和年龄,而`GRADE_TABLE` 视图则综合了`STUDENTS`、`COURSES`和`ENROLLS`表的信息,显示了学生姓名、课程名称和成绩。
8. **视图限制**:需要注意的是,视图定义中不能包含`ORDER BY`子句,这意味着视图返回的结果集不会默认排序,需要在查询视图时单独指定排序。
这些例子展示了SQL基本的DDL(Data Definition Language)和DML(Data Manipulation Language)操作,涵盖了数据库结构的创建、修改和查询,以及视图的创建和使用。通过理解并熟练掌握这些基础操作,用户可以高效地管理和操作数据库中的数据。
200 浏览量
116 浏览量
2012-12-05 上传
2010-07-31 上传
2012-03-12 上传
407 浏览量
2025-03-10 上传

iamjig
- 粉丝: 0
最新资源
- Rusty-iconz: Rust编写的Xcode图标生成CLI
- flyspell-lazy:提升Emacs flyspell性能的新方法
- 网格布局实例讲解与应用分析
- 使用amcharts.js创建多图表统计Demo
- SublimeLinter-pep8插件解析:Python代码质量检查
- Aristotle: 构建个性化新闻采集系统的Python工具
- Inmanta参数配置模块(param)的介绍与应用
- 掌握Android SimpleAdapter在GridView和ListView中的应用
- 深入了解mysql innodb表空间分析工具py_innodb_page_info
- 自定义checkboxpreference样式教程
- 轻松获取宽带连接密码的小工具
- Wamp5 1.7.4:PHP、MySQL与Apache集成环境安装
- HyperVM虚拟化管理器功能与OpenVZ及Xen集成
- Android与Struts2结合实现图片文件上传教程
- Node.JS中的CrudStudents:CRUD操作实践指南
- HTML5与CSS3离线CHM文档资源包