برنامه نویسان کامپیوتر

این وب سایت به منظور استفاده دانشجویان دانشگاه شهید بهشتی کرج ایجاد شده

برنامه نویسان کامپیوتر

این وب سایت به منظور استفاده دانشجویان دانشگاه شهید بهشتی کرج ایجاد شده

SQL - محدودیت PRIMARY KEY

این محدودیت یک مشخصه یکتایی است که برای هر داده در جدول پایگاه داده تعریف میشود

primary key حتما باید مقدارش یکتا باشد

مقدار null را نمیتواند بپذیرد

هر جدول باید  یک primary key داشته باشد و البته فقط یک primary key هم میتواند داشته باشد.

ایجاد محدودیت primary key در هنگام تولید جدول

MySQL:

CREATE TABLE Persons
( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (P_Id) )

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
( P_Id int NOT NULL PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255)
)

و اما برای اینکه یک محدودیت primary key را نامگذاری کنیم و اینکه برای یک جدول با چندین ستون یک primary key تعریف کنیم از دستور زیر استفاده می کنیم خوب به این دستور دقت کنید

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)

 

ایجاد primary key بعد از ساخت یک جدول

برای انجام عمل فوق از دستور زیر استفاده میکنیم و حتما دستور alter را بخاطر دارید ، دقت کنید

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

و همچنین این عمل برای یک جدول با داده های بسیار از دستور زیر بهره میگیریم

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

نکته:

دقت کنید زمانی که شما بعد از ساخت یک جدول اقدام به تولید primary key میکنید باید حتما انرا  not null تعریف کنید

حذف یک primary key

برای این کار از دستور زیر استفاده میکنیم

MySQL


ALTER TABLE Persons DROP PRIMARY KEY

SQL Server / Oracle / MS Access:


ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

نظرات 0 + ارسال نظر
ایمیل شما بعد از ثبت نمایش داده نخواهد شد