Oracle数据库SQL外键约束详解与示例

需积分: 50 55 下载量 53 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
"本文主要介绍了如何在Oracle数据库中创建表并添加外键约束,以及一些基本的SQL查询语句的使用。" 在Oracle数据库中,建表和外键约束是数据库设计的重要部分,用于维护数据的一致性和完整性。外键约束确保了数据之间的参照完整性,即一个表中的数据必须引用另一个表中存在的数据。以下是如何创建带有外键约束的表的示例: 首先,我们创建父表`parent`,这个表包含两个字段:`id`(主键)和`name`。主键`id`是表`parent`的唯一标识,`name`字段用于存储名称。创建表的SQL语句如下: ```sql CREATE TABLE parent( id number PRIMARY KEY, name varchar2(32) ); ``` 接下来,创建子表`child`,它有两个字段:`id`(主键)和`p_id`。`p_id`字段是外键,它引用`parent`表的`id`字段。有两种方式来创建外键约束: 1. 在创建表时直接定义外键约束: ```sql CREATE TABLE child( id number PRIMARY KEY, p_id number REFERENCES parent(id) ); ``` 2. 或者在创建表后通过ALTER TABLE语句添加外键约束: ```sql CREATE TABLE child( id number PRIMARY KEY, p_id number ); ALTER TABLE child ADD FOREIGN KEY (p_id) REFERENCES parent(id); ``` 这些SQL语句确保`child`表中的每一行`p_id`值都必须存在于`parent`表的`id`字段中。 此外,文章还介绍了基础的SQL查询语句,特别是`SELECT`查询。`SELECT`语句用于从数据库中检索数据。以下是一些基本的查询示例: - 查询所有列: ```sql SELECT * FROM s_emp; ``` - 查询指定列,如部门ID和工资: ```sql SELECT dept_id, salary FROM s_emp; ``` - 使用算术表达式计算年薪: ```sql SELECT salary * 12 FROM s_emp; ``` - 改变运算优先级,例如计算年薪加100的总和: ```sql SELECT last_name, salary, 12 * salary + 100 FROM s_emp; ``` 这展示了如何在查询中使用算术表达式和运算符,以及如何对查询结果进行计算和格式化。 了解并熟练掌握这些基本的SQL查询语句对于任何数据库操作都是至关重要的,无论是简单的数据检索还是复杂的分析查询。通过使用外键约束,可以确保数据的逻辑结构清晰且正确,而SQL查询则提供了从数据库获取所需信息的有效工具。