在Oracle中如何设置主键
主键是数据库中非常重要的概念,它能够唯一地标识一条记录,便于查询和更新操作。在Oracle数据库中,设置主键可以使用以下两种方式。
一、通过CREATE TABLE语句设置主键
CREATE TABLE语句可以用来创建一张数据库表,同时也可以在其中设置主键。例如,创建一张学生表,以学生编号作为主键:
CREATE TABLE STUDENT
(
STU_NO VARCHAR2(20) PRIMARY KEY,
NAME VARCHAR2(50) NOT NULL,
AGE NUMBER(3),
GENDER VARCHAR2(10),
ADDRESS VARCHAR2(100)
);
在STUDENT表中,STU_NO字段被设置为主键。通过PRIMARY KEY关键字可以设置主键,同时必须保证该字段的值不为空,即NOT NULL。
二、通过ALTER TABLE语句设置主键
如果已经创建了一张表,但是需要设置主键,可以使用ALTER TABLE语句进行修改。例如,在STUDENT表中添加主键:
ALTER TABLE STUDENT ADD CONSTRNT STUDENT_PK PRIMARY KEY(STU_NO);
通过ADD CONSTRNT关键字可以添加约束,STUDENT_PK为主键名称,STU_NO为主键字段名称。
在实际使用中,选择何种方式设置主键主要取决于已有表结构和需求。同时,为了保证数据的完整性,应该尽可能设置主键,避免数据重复和错误。
演示如何使用代码在Oracle中设置主键:
— 创建表
CREATE TABLE STUDENT
(
STU_NO VARCHAR2(20) PRIMARY KEY,
NAME VARCHAR2(50) NOT NULL,
AGE NUMBER(3),
GENDER VARCHAR2(10),
ADDRESS VARCHAR2(100)
);
— 添加数据
INSERT INTO STUDENT VALUES(‘001’, ‘Peter’, 20, ‘Male’, ‘Address 1’);
INSERT INTO STUDENT VALUES(‘002’, ‘Marry’, 21, ‘Female’, ‘Address 2’);
INSERT INTO STUDENT VALUES(‘003’, ‘Kate’, 22, ‘Female’, ‘Address 3’);
INSERT INTO STUDENT VALUES(‘004’, ‘Tom’, 23, ‘Male’, ‘Address 4’);
— 查询数据
SELECT * FROM STUDENT;
— 修改主键
ALTER TABLE STUDENT ADD CONSTRNT STUDENT_PK PRIMARY KEY(STU_NO);
— 查询主键
SELECT * FROM USER_CONSTRNTS WHERE TABLE_NAME=’STUDENT’;
以上代码实现了创建一张学生表,并设置STU_NO字段为主键,同时添加数据并查询主键信息。可以根据实际需求进行调整和扩展。