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

需积分: 10 10 下载量 130 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
"本文主要介绍了如何在Oracle数据库中创建带有主键约束的表,并通过具体的SQL语句示例进行了详细解释。同时,还涉及到SQL查询的基础知识,包括查询指定列、使用算数表达式以及运算符的优先级等概念。" 在Oracle数据库中,创建表并设置主键约束是确保数据完整性和唯一性的关键步骤。主键是一种特殊的唯一标识符,不允许有重复值,且不能为空。以下是三种不同形式的创建带主键约束的表的例子: 1. 第一种方式将主键约束直接定义在列上: ```sql CREATE TABLE Mytest ( id number PRIMARY KEY, name VARCHAR2(32) NOT NULL ); ``` 在这个例子中,`id` 列被指定为主键,同时 `name` 列不允许为空。 2. 第二种方式是在列定义之后单独设置主键约束: ```sql CREATE TABLE Mytest ( id number, name VARCHAR2(32) NOT NULL, PRIMARY KEY (id) ); ``` 这里,虽然主键约束的语法位置不同,但作用与第一种相同,`id` 仍然是主键。 3. 第三种方式是设置由多个列组成的复合主键: ```sql CREATE TABLE Mytest ( m number, n number, PRIMARY KEY (m, n) ); ``` 在这种情况下,`m` 和 `n` 两列共同构成主键,两者组合必须唯一。 接下来,我们探讨一下SQL查询的基本用法。`SELECT` 语句是SQL中最基础也是最重要的部分,用于从数据库中检索数据。例如,要获取 `s_emp` 表中的所有员工信息,可以使用: ```sql SELECT * FROM s_emp; ``` 这里的星号(*)代表选择所有列。若只想获取特定列,如部门ID(`dept_id`)和工资(`salary`),则可以这样写: ```sql SELECT dept_id, salary FROM s_emp; ``` 此外,还可以在查询中使用算数表达式和运算符。例如,要计算员工的年薪,可以将工资乘以12: ```sql SELECT salary * 12 FROM s_emp; ``` 注意,运算符的优先级可以通过括号来调整。比如: ```sql SELECT last_name, salary, 12 * salary + 100 FROM s_emp; ``` 与 ```sql SELECT last_name, salary, 12 * (salary + 100) FROM s_emp; ``` 这两条语句的计算结果会有所不同,因为括号改变了加法和乘法的执行顺序。 总结,本文不仅展示了在Oracle中创建表和设置主键的方法,还涵盖了SQL查询的基础知识,包括选取指定列、使用算数表达式以及理解运算符优先级。这些知识对于理解和操作数据库至关重要。