CREATE TABLE
语句中的
PRIMARY KEY
子句来指定一个或多个列作为主键。
在DB2数据库中建立主键是确保数据完整性和唯一性的重要操作,以下是详细的步骤和方法:
1、语法格式:在创建表的语句中,通过PRIMARY KEY
子句指定主键字段,创建一个名为students
的表,其中student_id
为主键:
CREATE TABLE students ( student_id INT NOT NULL, name VARCHAR(100), PRIMARY KEY (student_id) );
这里,student_id
字段被定义为INT
类型且不能为空(NOT NULL
),同时通过PRIMARY KEY
子句将其指定为主键。
2、联合主键:如果需要将多个字段组合作为主键,可以在PRIMARY KEY
子句中列出这些字段,字段之间用逗号分隔,一个记录学生课程选课信息的表enrollments
,其中student_id
和course_id
共同构成联合主键:
CREATE TABLE enrollments ( student_id INT, course_id INT, grade CHAR(2), PRIMARY KEY (student_id, course_id), FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (course_id) REFERENCES courses(course_id) );
此表中,student_id
和course_id
的组合必须唯一标识每一行记录,同时通过FOREIGN KEY
子句建立了与students
表和courses
表的外键关联。
1、为已有表添加主键:如果表已经存在,但没有设置主键,可以使用ALTER TABLE
语句添加主键,假设有一个已存在的表employees
,现在要将employee_id
字段设置为主键:
ALTER TABLE employees ADD PRIMARY KEY (employee_id);
执行此语句后,employee_id
字段将成为employees
表的主键,约束其值的唯一性和非空性。
2、注意事项:使用ALTER TABLE
语句添加主键时,要确保相关字段的数据符合主键的要求,如字段值的唯一性和非空性,如果表中已有数据不符合这些要求,可能会导致添加主键失败。
在DB2数据库中建立主键可以通过上述方法实现,根据具体的需求和表结构选择合适的方式来设置主键,以确保数据的完整性和唯一性。