منشور

سلسلة دروس SQL| UNIQUE

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

قيد UNIQUE في SQL

يضمن القيد UNIQUE (فريد) اختلاف جميع القيم في العمود.

توفر كل من القيود UNIQUE و PRIMARY KEY ضمانًا لاختلاف القيم في عمود أو مجموعة من الأعمدة.

يحوي القيد PRIMARY KEY تلقائيًا على القيد UNIQUE.

ومع ذلك يمكن لكل جدول أن يحوي العديد من قيود UNIQUE (لعدة أعمدة)، ولكن قيد PRIMARY KEY يكون حصرا لعمود واحد فقط في الجدول.

استخدام UNIQUE مع عبارة CREATE TABLE في SQL

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

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 UNIQUE,

   		 LastName varchar(255) NOT NULL,

   		 FirstName varchar(255),

   		 Age int

		);

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,

    		UNIQUE (ID)

		); 

لإنشاء قيد UNIQUE، ولإعطاء القيد UNIQUE لأعمدة متعددة، استخدم عبارة 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 UC_Person UNIQUE (ID,LastName)

		); 

استخدام UNIQUE مع عبارة CREATE TABLE في SQL

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

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
5
		ALTER TABLE Persons

		ADD UNIQUE (ID); 

استخدم عبارة SQL التالية لإنشاء قيد UNIQUE، ولإعطاء القيد UNIQUE لأعمدة متعددة:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
5
		ALTER TABLE Persons

		ADD CONSTRAINT UC_Person UNIQUE (ID,LastName); 

حذف القيد UNIQUE

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

MySQL:

1
2
3
4
5
		ALTER TABLE Persons

		DROP INDEX UC_Person;

SQL Server / Oracle / MS Access:

1
2
3
4
5
		ALTER TABLE Persons

		DROP CONSTRAINT UC_Person; 

التالي: Primary Key

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