منشور

سلسلة دروس SQL| Primary Key

هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس

قيد PRIMARY KEY في SQL

القيد PRIMARY KEY يعرّف بشكل فريد كل سجل في جدول.

يجب أن يحتوي PRIMARY KEY على قيم UNIQUE ، ولا يمكن أن تحتوي على قيم NULL.

يمكن أن يحتوي الجدول على مفتاح PRIMARY KEY واحد فقط ؛ وفي الجدول يمكن أن يتكون PRIMARY KEY هذا من أعمدة (حقول) مفردة أو متعددة.

أستخدام PRIMARY KEY في CREATE TABLE في SQL

يقوم SQL التالي بإنشاء PRIMARY KEY على عمود “المعرف” عند إنشاء جدول “الأشخاص”:

MySQL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE Persons (

    ID int NOT NULL PRIMARY KEY,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Age int

); 

للسماح بتسمية قيد PRIMARY KEY ، ولتحديد قيد PRIMARY KEY على أعمدة متعددة ، استخدم بناء جملة SQL التالي:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE Persons (

    ID int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Age int,

    CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)

); 

ملاحظة: في المثال أعلاه ، يوجد PRIMARY KEY واحد فقط (PK_Person) ومع ذلك نلاحظ أنه تتكون قيمة PRIMARY KEY من اثنين من الأعمدة (ID + LastName).

استخدام PRIMARY KEY في ALTER TABLE في SQL

لإنشاء قيد PRIMARY KEY على عمود “المعرف” عند إنشاء الجدول ، استخدم SQL التالية:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
5
		ALTER TABLE Persons

		ADD PRIMARY KEY (ID); 

للسماح بتسمية قيد PRIMARY KEY ، ولتحديد قيد PRIMARY KEY على أعمدة متعددة ، استخدم بناء جملة SQL التالي:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
5
		ALTER TABLE Persons

		ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName); 

ملاحظة: إذا كنت تستخدم عبارة ALTER TABLE لإضافة PRIMARY KEY ، فيجب أن يكون عمود (أعمدة) PRIMARY KEY قد تم تعريفه بالفعل على أنه لا يحتوي على قيم NULL (عندما تم إنشاء الجدول لأول مرة).

حذف القيد PRIMARY KEY

لحذف قيد PRIMARY KEY، استخدم عبارة SQL التالية:

MySQL:

1
2
3
4
5
		ALTER TABLE Persons

		DROP PRIMARY KEY; 

SQL Server / Oracle / MS Access:

1
2
3
4
5
		ALTER TABLE Persons
	
		DROP CONSTRAINT PK_Person; 

التالي: Foriegn Key

هذا المنشور تحت ترخيص CC BY 4.0 بواسطة المؤلف.