Oracle多主键创建方法简述
在Oracle数据库中,一个表可以有多个主键。多个主键适用于需要不同条件查询的业务需求。本文将介绍Oracle多主键的创建方法。
1. 创建表
我们需要创建一个含有多个主键的表。下面是创建一张员工表,包含员工编号,姓名和性别作为三个主键的示例代码:
CREATE TABLE employee
(
emp_id NUMBER(10),
emp_name VARCHAR2(50),
emp_gender VARCHAR2(10),
CONSTRNT pk_employee_id PRIMARY KEY (emp_id),
CONSTRNT pk_employee_name PRIMARY KEY (emp_name),
CONSTRNT pk_employee_gender PRIMARY KEY (emp_gender)
);
其中,pk_employee_id、pk_employee_name和pk_employee_gender是三个主键的名称,分别对应着emp_id、emp_name和emp_gender这三个字段。
2. 插入数据
接下来,我们向刚刚创建的employee表中插入一些数据,可以通过以下命令完成:
INSERT INTO employee VALUES (1,'Tom','M');
INSERT INTO employee VALUES (2,'Lily','F');
INSERT INTO employee VALUES (3,'Lucy','F');
INSERT INTO employee VALUES (4,'Jack','M');
3. 查看数据
我们可以通过SELECT语句查看插入的数据:
SELECT * FROM employee;
输出结果如下:
EMP_ID EMP_NAME EMP_GENDER
-------- -------- ----------
1 Tom M
2 Lily F
3 Lucy F
4 Jack M
4. 多主键查询
现在,我们可以尝试使用多个主键进行查询。例如,我们要查询员工编号为1且姓名为Tom的员工信息,可以使用以下代码实现:
SELECT * FROM employee WHERE emp_id=1 AND emp_name='Tom';
输出结果如下:
EMP_ID EMP_NAME EMP_GENDER
-------- -------- ----------
1 Tom M
同样的,我们也可以通过单独查询其中一个主键来获取更多数据。例如,查询员工编号为1的信息:
SELECT * FROM employee WHERE emp_id=1;
输出结果如下:
EMP_ID EMP_NAME EMP_GENDER
-------- -------- ----------
1 Tom M
5. 删除主键
如果我们需要删除多个主键中的一个,可以使用以下代码:
ALTER TABLE employee DROP PRIMARY KEY;
其中,PRIMARY KEY必须小写,并将其引用的主键名称替换为需要删除的主键名称。
6. 添加新的主键
如果我们需要添加一个新的主键,可以使用以下代码:
ALTER TABLE employee ADD CONSTRNT pk_employee_eml PRIMARY KEY (emp_eml);
其中,pk_employee_eml是主键名称,emp_eml是我们需要添加的新主键名称。
结论
在本文中,我们了解了Oracle数据库中创建多主键的方法,并学会了如何使用多个主键进行查询。多个主键可以提高查询效率,更好地满足需求。