06/04/2021, 14:50

Primary Key trong SQL - Ngôn ngữ truy vấn T-SQL

Bài này bạn sẽ được giới thiệu cách tạo khóa chính (Primary Key) thể hiện qua các hệ hệ quản trị CSDL như SQL Serer, MySQL, Oracle, Access. Primary key là một hoặc nhiều column co tính chất đặc biệt đó là dùng để phân biệt sự khác nhau giữa các dòng dữ liệu, vì vậy giá trị của nó phải là duy ...

Bài này bạn sẽ được giới thiệu cách tạo khóa chính (Primary Key) thể hiện qua các hệ hệ quản trị CSDL như SQL Serer, MySQL, Oracle, Access.

Primary key là một hoặc nhiều column co tính chất đặc biệt đó là dùng để phân biệt sự khác nhau giữa các dòng dữ liệu, vì vậy giá trị của nó phải là duy nhất. Mỗi table chỉ có một primary key duy nhất, mỗi primary key có thể có một hoặc nhiều column.

1. Tạo Primary Key bằng Create Table

Các ví dụ dưới đây là cách tạo Primary Key.

MySQL
CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (ID)
);

SQL Server / Oracle / MS Access
CREATE TABLE Persons (
    ID int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

Nếu bạn muốn đặt tên cho Primary Key để tiện cho việc quản lý sau này thì hãy sử dụng cú pháp sau:

MySQL / SQL Server / Oracle / MS Access
CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);

Việc đặt tên này rất có lợi bởi sau này bạn có thể dễ dàng xóa khóa chính bằng câu lệnh SQL.

2. Tạo Primary Key bằng Alter Table

Giả sử ta cần tạo khóa chính cho column ID nằm trong bảng Person thì cách làm như sau:

MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD PRIMARY KEY (ID);

Trường hợp khóa chính có nhiều column thì bạn sẽ viết các column cách nhau bởi dấu phẩy.

MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);

Lưu ý: Khi bạn sử dụng lệnh Alter Table để tạo khóa chính thì các column đó phải đặt là NOT NULL, nếu không sẽ bị báo lỗi vì khóa chính không chấp nhận giá trị NULL.

3. Xóa Primary Key 

Để xóa khóa chính Primary Key thì ta sử dụng lệnh Alter Table.

MySQL
ALTER TABLE Persons
DROP PRIMARY KEY;

SQL Server / Oracle / MS Access
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

Như vậy với MySQL thì ta không cần tên của khóa chính.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0