SQL UNIQUE কনস্ট্রেইন্ট
UNIQUE
কনস্ট্রেইন্ট(Constraint) দ্বারা ডেটাবেজে ইউনিক(Unique) রেকর্ড ইনসার্ট করা হয়। এক বা একাধিক কলামের রেকর্ডকে ইউনিক করতে UNIQUE
এবং PRIMARY KEY
কনস্ট্রেইন্ট উভই ব্যবহার করা হয়। একটি PRIMARY KEY
কনস্ট্রেইন্ট এর মধ্যে স্বয়ংক্রিয়ভাবে UNIQUE
কনস্ট্রেইন্ট ডিফাইন করা থাকে।
মনে রাখবেন, একটি টেবিলের একাধিক কলামে UNIQUE
কনস্ট্রেইন্ট থাকতে পারে কিন্তু একটি টেবিলের শুধুমাত্র একটি কলামেই PRIMARY KEY
কনস্ট্রেইন্ট ব্যবহার করা যায়।
টেবিল তৈরির সময় SQL UNIQUE কনস্ট্রেইন্ট এর ব্যবহার
নিম্নের SQL স্টেটম্রন্টটি "Student_details" টেবিল তৈরির সময় "Roll_number" কলামটি UNIQUE
কনস্ট্রেইন্ট এর মাধ্যমে ইউনিক হবে।
MySQL এর জন্যঃ
CREATE TABLE Student_details(
Id int NOT NUll,
Roll_number varchar(255),
Student_name varchar(255),
Institute varchar(255),
Address varchar(255),
UNIQUE(roll_number)
);
Oracle/SQL Server/MS Access এর জন্যঃ
CREATE TABLE Student_details(
Id int NOT NUll,
Roll_number varchar(255) UNIQUE,
Student_name varchar(255),
Institute varchar(255),
Address varchar(255)
);
একটি UNIQUE
কনস্ট্রেইন্ট এর নাম দেওয়ার জন্য এবং একাধিক কলামে UNIQUE
কনস্ট্রেইন্ট ডিফাইন করার জন্য নিম্নের SQL সিনট্যাক্সটি ব্যবহার করা হয়।
MySQL/Oracle/SQL Server/MS Access এর জন্যঃ
CREATE TABLE Student_details(
Id int NOT NUll,
Roll_number varchar(255),
Student_name varchar(255),
Institute varchar(255),
Address varchar(255),
CONSTRAINT Student_id UNIQUE (Id, Roll_number)
);
পূর্বের তৈরি টেবিলে SQL UNIQUE কনস্ট্রেইন্টের ব্যবহার
ডেটাবেজে পূর্ব থেকে বিদ্যমান একটি টেবিলের "Id" কলামকে UNIQUE
করতে ALTER TABLE
স্টেটমেন্টটের সাথে নিম্নের ন্যায় ADD UNIQUE
কনস্ট্রেইন্ট ব্যবহার করা হয়ঃ
MySQL/Oracle/SQL Server/MS Access এর জন্যঃ
ALTER TABLE Student_details
ADD UNIQUE (Id);
একটি UNIQUE
কনস্ট্রেইন্ট এর নাম দেওয়ার জন্য এবং একাধিক কলামে UNIQUE
কনস্ট্রেইন্ট ডিফাইন করার জন্য নিম্নের SQL সিনট্যাক্সটি ব্যবহার করা হয়।
MySQL/Oracle/SQL Server/MS Access এর জন্যঃ
ALTER TABLE Student_details
ADD CONSTRAINT Student_id UNIQUE (Id, Roll_number);
UNIQUE কনস্ট্রেইন্ট ডিলেট করা
UNIQUE
কনস্ট্রেইন্ট ডিলেট করতে নিম্নের SQL স্টেটমেন্টটি ব্যবহার করা হয়ঃ
MySQL এর জন্যঃ
ALTER TABLE Student_details
DROP INDEX Student_id;
Oracle/SQL Server/MS Access এর জন্যঃ
ALTER TABLE Student_details
DROP CONSTRAINT Student_id;