คีย์หลัก SQL: วิธีสร้างและเพิ่มลงในตารางที่มีอยู่
คีย์หลักใน SQL คืออะไร
คีย์หลัก คือเขตข้อมูลหรือการรวมกันของเขตข้อมูลที่ระบุระเบียนไม่ซ้ำกัน คีย์หลักคือคอลัมน์หรือชุดของคอลัมน์ที่ไม่ซ้ำกัน กล่าวอีกนัยหนึ่ง ทุกค่าจะไม่ซ้ำกันสำหรับคีย์หลัก
กฎสำหรับคีย์หลัก
- แต่ละตารางสามารถมีคีย์หลักของ SQL ได้เพียงคีย์เดียวเท่านั้น
- ค่าทั้งหมดไม่ซ้ำกันและค่า SQL ของคีย์หลักสามารถระบุแต่ละแถวได้โดยไม่ซ้ำกัน
- ระบบจะไม่อนุญาตให้แทรกแถวด้วย SQL Server Primary Key ที่มีอยู่แล้วในตาราง
- คีย์หลักต้องไม่เป็น NULL
แผนภาพด้านล่างสรุปประเด็นทั้งหมดข้างต้นสำหรับคีย์หลักของ SQL

วิธีสร้างคีย์หลักใน SQL Server
เราสามารถสร้างคีย์หลักได้ค่ะ 2 วิธี:
1. สตูดิโอจัดการเซิร์ฟเวอร์ SQL
2. T-SQL: สร้างหลักในขณะที่สร้างตารางใหม่
สตูดิโอจัดการเซิร์ฟเวอร์ SQL
ขั้นตอน 1) คลิกขวาที่ชื่อตาราง คลิกที่ ออกแบบ
ขั้นตอน 2) คลิกขวาที่ชื่อคอลัมน์ คลิกที่ 'ตั้งค่าคีย์หลัก'
ผลลัพธ์: Course_Id ตอนนี้เป็น a คีย์หลัก
T-SQL: สร้างคีย์หลักขณะสร้างตารางใหม่
ด้านล่างนี้เป็นไวยากรณ์สำหรับสร้างตารางด้วยคีย์หลักจาก T-SQL
ไวยากรณ์:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
มาสร้างตารางที่มีหนึ่งคอลัมน์เป็นคีย์หลักของ SQL กันดีกว่า
ค้นหา:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
ขั้นตอน 1) เรียกใช้แบบสอบถามโดยคลิกที่ 'ดำเนินการ'
ผลลัพธ์: Course_Id ตอนนี้เป็น a คีย์หลัก
ตัวอย่าง: มาดูกันว่าจะอนุญาตให้ป้อนหลายบันทึกด้วยรหัสหลักสูตรเดียวกันหรือไม่
ขั้นตอน 1) แทรก 4 แถวด้วย Course_ID ที่แตกต่างกัน
Insert into COURSE_TSQL_PK values (1,'SQL'); Insert into COURSE_TSQL_PK values (2,'Python'); Insert into COURSE_TSQL_PK values (3,'SQL'); Insert into COURSE_TSQL_PK values (4,'C');
ขั้นตอน 2) ตรวจสอบการแทรกข้อมูลทั้งหมดสำเร็จโดยเรียกใช้คิวรี Select
หมายเหตุ: เราสามารถแทรกค่าที่ซ้ำกันในคีย์ที่ไม่ใช่หลักได้
ขั้นตอน 3) ตอนนี้เรามาลองแทรกระเบียนใหม่ด้วย Course_ID ที่มีอยู่ซึ่งเป็นคีย์หลัก
Insert into COURSE_TSQL_PK values (4,'JAVA');
ผลลัพธ์: ระบบไม่อนุญาตให้ใส่ค่าใหม่เนื่องจากมีคอลัมน์ Course_ID ที่เป็นคีย์หลักอยู่ที่ 4
จะเพิ่มคีย์หลักให้กับตารางที่มีอยู่ใน SQL ได้อย่างไร
ตอนนี้เราจะดูวิธีเพิ่มคีย์หลักให้กับตารางที่มีอยู่ใน SQL:
คุณสามารถใช้คำสั่ง ALTER เพื่อสร้างคีย์หลักได้ อย่างไรก็ตาม คีย์หลักสามารถสร้างขึ้นได้บนคอลัมน์ที่กำหนดเป็น NOT NULL เท่านั้น คุณไม่สามารถสร้างคีย์หลักบนคอลัมน์ที่อนุญาตให้มีค่า NULL ได้ หากคุณต้องการทำ คุณจะต้องวางและสร้างตารางใหม่
นี่คือไวยากรณ์:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
ตัวอย่างเช่น:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
เราได้เพิ่มข้อจำกัดคีย์หลักให้กับตารางที่มีอยู่แล้ว เพิ่มข้อจำกัดในคอลัมน์การรับเข้าและกำหนดชื่อ students_pk
ข้อเท็จจริงที่น่าสนใจ!
- คีย์หลักสามารถเป็นการรวมกันของหลายคอลัมน์ได้ การรวมกันนี้เรียกว่า คีย์หลักแบบผสม.
- คีย์หลักมีได้สูงสุด 16 คอลัมน์
สรุป
- แต่ละตารางสามารถมีคีย์หลักได้เพียงคีย์เดียวเท่านั้น
- ค่าทั้งหมดมีเอกลักษณ์เฉพาะซึ่งสามารถ ระบุแต่ละแถวโดยไม่ซ้ำกัน








