Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

คีย์หลัก PRIMARY KEY ใน SQL Server

เรียนรู้วิธีสร้าง ลบ ปิดใช้งาน หรือเปิดใช้งานคีย์หลักใน SQL Server พร้อมไวยากรณ์และตัวอย่าง

คีย์หลักใน SQL Server คืออะไร

ใน SQL Server (Transact-SQL) คีย์หลักคือฟิลด์หรือการรวมกันของฟิลด์และถูกกำหนดเป็นเรกคอร์ดเดียว ไม่มีฟิลด์ในคีย์หลักที่มีค่า NULL ตารางมีคีย์หลักเพียงรายการเดียว คีย์หลักสามารถกำหนดได้ด้วยคำสั่ง CREATE TABLE หรือคำสั่ง ALTER TABLE

สร้างคีย์หลัก - ด้วยคำสั่ง CREATE TABLE

ไวยากรณ์การสร้างคีย์หลักอยู่ที่คำสั่ง CREATE TABLE

  CREATE TAB LE ten_bang 
(
cot1 kieu_du_lieu [ NULL | NOT NULL ] [ PRIMARY KEY ],
cot2 kieu_du_lieu [ NULL | NOT NULL ],
.
);

หรือ

  CREATE TABLE ten_bang 
(
cot1 kieu_du_lieu [ NULL | NOT NULL ],
cot2 kieu_du_lieu [ NULL | NOT NULL ],

CONSTRAINT ten_rang_buoc PRIMARY KEY (cot1, cot2, … cot_n)
);

ตัวอย่างการสร้างคีย์หลักคือการใช้คำสั่ง CREATE TABLE

  CREATE TABLE nh anvien 
( nhanvien_id INT PRIMARY KEY,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
);

ในตัวอย่างนี้ คีย์หลักสำหรับตาราง nhanvien ประกอบด้วยฟิลด์ที่เรียกว่า nhanvien_id นอกจากนี้ สามารถสร้างคีย์หลักได้ดังนี้:

  CREATE TABLE nhanvi en 
( nhanvien_id INT,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
CONSTRAINT nhanvien_pk PRIMARY KEY (nhanvien_id)
);

ต่อไปนี้คือตัวอย่างการสร้างคีย์หลักที่มีมากกว่า 1 ฟิลด์ใน SQL Server

  CREATE TABLE vn ien 
( ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
CONSTRAINT nhanvien_pk PRIMARY KEY (ho, ten)
);

ในตัวอย่างนี้ เราได้สร้างคีย์หลักที่ประกอบด้วยสองคอลัมน์ ho และ ten . สองฟิลด์นี้จะระบุระเบียนในตารางโดยไม่ซ้ำกัน

สร้างคีย์หลัก - ด้วยคำสั่ง ALTER TABLE

สร้างคีย์หลักได้ด้วยคำสั่ง ALTER TABLE ในคอลัมน์ที่กำหนดเป็น NOT NULL หากคอลัมน์อนุญาตค่า NULL จะไม่สามารถเพิ่มคีย์หลักโดยไม่ลบหรือสร้างตารางใหม่ได้

ไวยากรณ์สำหรับการสร้างคีย์หลักคือการใช้คำสั่ง ALTER TABLE

  ALTER TABLE ten_ bang 
ADD CONSTRAINT t en_rang_buoc PRIMARY KEY (cot1, cot2, . cot_n);

ตัวอย่างการสร้างคีย์หลักด้วยคำสั่ง ALTER TABLE

  ALTER T ABLE nhanvien 
ADD CON STRAINT nhanvien_pk PRIMARY KEY (nhanvien_id);

ในตัวอย่างนี้ เราสร้างคีย์หลักสำหรับตารางที่พร้อมใช้งาน รวมถึง nhanvien_id ฟิลด์ โปรดทราบว่า nhanvien_id ต้องกำหนดฟิลด์เป็น NOT NULL ก่อน มิฉะนั้นจะต้องถูกลบและสร้างตารางใหม่ และกำหนดฟิลด์นี้เป็น NOT NULL

คุณสามารถสร้างคีย์หลักที่มีมากกว่า 1 ฟิลด์ดังในตัวอย่างต่อไปนี้

  ALTER TABLE staff 
ADD CONSTRAINT n hanvien_pk PRIMARY KEY (cough, ten);

คีย์หลักสำหรับตารางประกอบด้วย 2 ฟิลด์ ได้แก่ ชื่อและนามสกุล ต้องกำหนดทั้งคู่เป็น NOT NULL

ลบคีย์หลักใน SQL Server

ไวยากรณ์สำหรับการลบคีย์หลักคือการใช้คำสั่ง ALTER TABLE

  ALTER TAB LE ten_bang 
DROP CONS TRAINT ten_rang_buoc;

ตัวอย่างการลบคีย์หลักด้วยคำสั่ง ALTER TABLE

  ALTER TABLE staff 
DROP CONSTRAINT nhanvien_pk;

ตัวอย่างด้านบนจะลบคีย์หลักในตาราง

ปิดการใช้งานคีย์หลักใน SQL Server

ไวยากรณ์ในการปิดใช้งานคีย์หลักด้วยคำสั่ง ALTER INDEX

  ALTER IN DEX ten_rang_buoc ON ten_bang 
DISABLE;

ตัวอย่างเช่น ปิดใช้งานคีย์หลักด้วยคำสั่ง ALTER INDEX

  ALTER INDEX nhanvien_pk ON nhanvien 
DISABLE ;

ตัวอย่างด้านบนปิดใช้งานคีย์หลักในตาราง

เปิดใช้งานคีย์หลักใน SQL Server

ไวยากรณ์สำหรับการเปิดใช้งานคีย์หลักคือการใช้คำสั่ง ALTER INDEX

  ALT ER INDEX ten_rang_buoc ON ten_bang 
REBU ILD;

ตัวอย่างเช่น เปิดใช้งานคีย์หลักด้วยคำสั่ง ALTER INDEX

  ALTE R INDEX nhanvien_pk ON nhanvien 
REBUI LD;

ตัวอย่างด้านบนเปิดใช้งานคีย์หลักของตารางอีกครั้ง