SQL Update Statement

নাম-শরিফুল ইসলাম
PHP Coder

বিষয়- SQL Update Statement

SQL Update statement ব্যবহার করা হয় ডাটাবেস এর ভিতরে টেবিল এর ডাটা কে পরিবরতন করার জন্য। এই statement এর কিভাবে অ্যাপ্লাই করতে হয় তা দেখার জন্য আমাদের localhost>phpmyadmin এর আন্ডার এ ডাটাবেস তৈরি করতে হবে এবং একটি টেবিল তৈরি করতে হবে। প্রথমে ডাটাবেস এ ক্লিক করলে একটি ফিল্ড পাওয়া যাবে সেইখানে product নামে একটি ডাটাবেস তৈরি করি। এরপর ওপরের মেনু থেকে sql এ ক্লিক করি অনেক বড় একটা textarea পাওয়া যাবে। সেইখানে নিচের কোড টি paste করি
— Database: `product`

— ——————————————————–


— Table structure for table `product`

CREATE TABLE IF NOT EXISTS `product` (
`name` varchar(11) NOT NULL,
`price` int(11) NOT NULL,
`date` date NOT NULL,
`customer_id` int(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


— Dumping data for table `product`

INSERT INTO `product` (`name`, `price`, `date`, `customer_id`) VALUES
(‘shirt’, 100, ‘2015-01-01’, 4),
(‘jeans’, 120, ‘2015-01-03’, 2),
(‘salowar’, 300, ‘2015-01-10’, 3),
(‘bag’, 150, ‘2015-01-07’, 1);
ফলে আমাদের টেবিল তৈরি হয়ে গেল
Name price date customer_id
Bag 150 2015-01-07 1
Shirt 100 2015-01-03 2
Salowar 300 2015-01-10 3
Jeans 120 2015-01-01 4
আমদের এই টেবিল টির নাম product. মনে করুন আমি name ফিল্ড এর আন্ডার প্রথম কলামে bag নামটা পরিবরতন করে sports bag নামটা লিখব। এই জন্য উপরের মেনু থেকে sql ক্লিক করি কোড উইন্ডো তে টাইপ করি
UPDATE `product`.`product` SET `name` = ‘sports bag’ WHERE `product`.`name` = ‘bag’ AND `product`.`price` =150 AND `product`.`date` = ‘2015-01-07’ AND`product`.`customer_id` =1 LIMIT 1 ;
এবং go বাটন এ ক্লিক করলে bag এর পরিবর্তে sports bag হয়ে যাবে।
এই
Statement টি যদি আমরা explain করি তাহলে নিম্মের মতন হবে
Product database এর product table এর name ফিল্ড এ bag এর পরিবর্তে sports bag পরিবরতন করতে হবে যেখানে price=150 এবং date=2015-01-07 এবং customer_id=1.এইভাবে আমরা আমাদের ডাটাবেস এর যেকোনো ফিল্ড কে আপডেট করতে পারি।

SQL Insert Into Statement

নাম-শরিফুল ইসলাম
Job category-Php Coder

বিষয়- SQL Insert Into Statement
Database এর টেবিল এ কোন ডাটা insert করার জন্য আমরা insert statement ব্যবহার করে থাকি।
এরজন্ন আগে আমাদের ডাটাবেস তৈরি করে নিতে হবে। আমরা প্রোডাক্ট নামে একটা ডাটাবেস তৈরি করব এবং তার মধ্যে একটি টেবিল তৈরি করব। প্রথমে ডাটাবেস এ ক্লিক করলে একটি ফিল্ড পাওয়া যাবে সেইখানে product নামে একটি ডাটাবেস তৈরি করি। এরপর ওপরের মেনু থেকে sql এ ক্লিক করি অনেক বড় একটা textarea পাওয়া যাবে। সেইখানে নিচের কোড টি paste করি
— Database: `product`

— ——————————————————–


— Table structure for table `product`

CREATE TABLE IF NOT EXISTS `product` (
`name` varchar(11) NOT NULL,
`price` int(11) NOT NULL,
`date` date NOT NULL,
`customer_id` int(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

— ——————————————————–



এবং go বাটন এ ক্লিক করার সাথে সাথে ডাটাবেস তৈরি হয়ে গেল।এখন আমরা sql query এর মাধ্যমে এই ডাটাবেস এ ডাটা যোগ করব।
উপড়ের মেন্যু থেকে SQL ক্লিক করলে একটি উইন্ডো আসবে। সেখানে টাইপ করি
— Dumping data for table `product`

INSERT INTO `product` (`name`, `price`, `date`, `customer_id`) VALUES
(‘shirt’, 100, ‘2015-01-01’, 4),
(‘jeans’, 120, ‘2015-01-03’, 2),
(‘salowar’, 300, ‘2015-01-10’, 3),
(‘bag’, 150, ‘2015-01-07’, 1);
এবং go বাটন এ ক্লিক করলে নিচের টেবিল এর মতন একটি টেবিল পাওয়া যাবে

Name price date customer_id
Bag 150 2015-01-07 1
Shirt 100 2015-01-03 2
Salowar 300 2015-01-10 3
Jeans 120 2015-01-01 4
অনেক সময় দেখা যায় আমাদের সবগুলো ফিল্ড এ ডাটা ইনপুট না করে কিছু নির্দিষ্ট ফিল্ডে ডাটা ইনপুট করতে হয়। যেমন আমরা শুধু product table এর name and price এই দুটি ফিল্ডে ডাটা যোগ করতে চাই।
এর জন্য sql query
INSERT INTO `product` (`name`, `price`) VALUES
(‘shirt’, 100),
(‘jeans’, 120),
(‘salowar’, 300),
(‘bag’, 150);
এবং এর query রান করলে আমরা পাব
Name price date customer_id
Bag 150 – –
Shirt 100 – –
Salowar 300 – –
Jeans 120 – –

SQL ORDER BY কীওয়ার্ড . SQL ORDER BY Keyword

SQL ORDER BY কীওয়ার্ড

Article By: Pratap Chandra

ডাটাবেজের একটি টেবিল থেকে তুলে আনা ডাটাকে প্রয়োজন মতো সাজাতে ORDER BY কীওয়ার্ড ব্যবহার করা হয়। এক কিংবা একাধিক কলাম ধরে এই কীওয়ার্ডের সাহায্যে ডাটা সাজানো যায় এবং সজ্জার প্রকৃতি (উর্ধ্বক্রম কিংবা অধ:ক্রম) উল্লেখ না করলে স্বয়ংক্রিভাবে উর্ধ্বক্রম (ascending) অনুসারে সাজায়। প্রাপ্ত ডাটাকে অধ:ক্রম (descending) অনুসারে সাজাতে গেলে DESC কীওয়ার্ড ব্যবহার করতে হবে।

SQL ORDER BY সিনট্যাক্স

SELECT column_name,column_name

FROM table_name

ORDER BY column_name,column_name ASC|DESC;

এই সিনট্যাক্সে column_name বলতে বুঝানো হয়েছে আপনি যেটি বা যেসব কলামের ডাটা তুলে আনতে চান তার নাম। table_nameএর স্থলে ডাটাবেজের নির্দিষ্ট টেবিলের নাম লিখতে হবে। ORDER BY এর পর লিখতে হবে আপনি কোন কলাম ধরে কিংবা অগ্রাধিকার অনুসারে কোন কলামগুলো ধরে ডাটা সাজাতে চান। উর্ধ্বক্রমে সাজাতে চাইলে ASC এবং অধ:ক্রম অনুসারে সাজাতে চাইলে DESC ব্যবহার করা হয়।

ডাটা নির্বাচনের উদাহরণ:

এই টিউটিরিয়ালে আমরা বহুল পরিচিত Northwind স্যাম্পল ডাটাবেজটি ব্যবহার করব, যেটি মাইক্রোসফট Excel এবং MS SQL Server এর সাথে শিক্ষার্থীদের জন্য তৈরী অবস্থায় (readymade) সংযুক্ত করা থাকে।

Northwind ডাটাবেজের Customers টেবিল থেকে কিছু ডাটা নির্বাচন করা হলো:

AlfredsFutterkisteObereStr.57Ana TrujilloEmparedados yheladosAvda. de laConstitución2222México D.F.Mataderos 2312México D.F.WA1 1DPBerglundssnabbköpBerguvsvägen 8

CustomerID

CustomerName

ContactName

Address

City

PostalCode

Country

1 Maria Anders Berlin 12209 Germany
2 Ana Trujillo 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London UK
5 Christina Berglund Luleå S-958 22 Sweden

ORDER BY এর উদাহরণ:

নিচের SQL স্টেটমেন্টটি প্রয়োগ করলে Customers টেবিল থেকে সব customer এর তথ্য উঠে আসবে। আর এই তথ্যগুলো Country কলাম ধরে উধ্বর্ক্রম অনুসারে সাজাবে।

SELECT * FROM Customers

ORDER BY Country;

ORDER BY DESC এর উদাহরণ:

নিচের SQL স্টেটমেন্টটি প্রয়োগ করলে Customers টেবিল থেকে সব customers এর তথ্য উঠে আসবে। এই তথ্যগুলো Country কলাম ধরে অধ:ক্রম অনুসারে সাজাবে।

SELECT * FROM Customers

ORDER BY Country DESC;

একাধিক কলাম অনুসারে ডাটা সাজানোর উদাহরণ:

নিচের SQL স্টেটমেন্টটি প্রয়োগ করলে Customers টেবিল থেকে সব customer এর তথ্য উঠে আসবে। তবে এই তথ্যগুলো Country এবং CustomerName কলাম ধরে সাজাবে। প্রথম অগ্রাধিকার পাবে Country এবং দ্বিতীয় অগ্রাধিকার পাবে CustomerName।

SELECT * FROM Customers

ORDER BY Country,CustomerName;

SQL (এসকিউএল) WHERE ক্লজ . SQL WHERE Clause

<h1>SQL (এসকিউএল) WHERE ক্লজ</h1>

Article By: Pratap Chandra
<p>ডাটাবেজ থেকে ডাটা ফিল্টার (filter) বা পরিশোধন করার জন্য WHERE ক্লজ ব্যবহার করা হয়। এখানে পরিশোধন করা বলতে বুঝানো হয়েছে শর্ত প্রয়োগ করে কেবল প্রয়োজনীয় ডাটাগুলো তুলে আনা। আপনি যে শর্ত প্রয়োগ করবেন শুধু সেই শর্ত পূরণ করতে পারা ডাটাই কেবল বাছাই হবে।</p>
<h3>এসকিউএল WHERE সিনট্যাক্স বা গঠনরীতি: </h3>
<p>SELECT <em>column_name</em>,<em>column_name</em><br />
FROM <em>table_name</em><br />
WHERE <em>column_name operator value</em>;</p>

এই টিউটিরিয়ালে আমরা Northwind স্যাম্পল ডাটাবেজটি ব্যবহার করব, যেটি মাইক্রোসফট Excel এবং MS SQL Server এর সাথে শিক্ষার্থীদের জন্য তৈরী অবস্থায় (readymade) সংযুক্ত করা থাকে।  সেই ডাটাবেজের Customers টেবিল থেকে কিছু ডাটা SELECT কমান্ড প্রয়োগ করে বাছাই করা হয়েছে, যা নিচের টেবিলে দেখানো হলো:
<table border=”1″ cellpadding=”2″>
<tr>
<td><p align=”center”><strong>CustomerID</strong></p></td>
<td><p align=”center”><strong>CustomerName</strong></p></td>
<td><p align=”center”><strong>ContactName</strong></p></td>
<td><p align=”center”><strong>Address</strong></p></td>
<td><p align=”center”><strong>City</strong></p></td>
<td><p align=”center”><strong>PostalCode</strong></p></td>
<td><p align=”center”><strong>Country</strong></p></td>
</tr>
<tr>
<td><p>1</p></td>

Alfreds Futterkiste
<td><p>Maria Anders</p></td>

Obere Str. 57
<td><p>Berlin</p></td>
<td><p>12209</p></td>
<td><p>Germany</p></td>
</tr>
<tr>
<td><p>2</p></td>

Ana Trujillo Emparedados y helados
<td><p>Ana Trujillo</p></td>

Avda. de la Constitución 2222

 

México D.F.
<td><p>05021</p></td>
<td><p>Mexico</p></td>
</tr>
<tr>
<td><p>3</p></td>
<td><p>Antonio Moreno Taquería</p></td>
<td><p>Antonio Moreno</p></td>

Mataderos 2312

 

México D.F.
<td><p>05023</p></td>
<td><p>Mexico</p></td>
</tr>
<tr>
<td><p>4</p></td>
<td><p>Around the Horn</p></td>
<td><p>Thomas Hardy</p></td>
<td><p>120 Hanover Sq.</p></td>
<td><p>London</p></td>

WA1 1DP
<td><p>UK</p></td>
</tr>
<tr>
<td><p>5</p></td>

Berglunds snabbköp
<td><p>Christina Berglund</p></td>

Berguvsvägen 8
<td><p>Luleå</p></td>
<td><p>S-958 22</p></td>
<td><p>Sweden</p></td>
</tr>
</table>
<h3>WHERE ক্লজ এর উদাহরণ:</h3>
<p>এখন Customers টেবিল থেকে আমরা কেবল Mexico এর Customer গুলো তুলে আনব। এই কাজ করতে আমাদের নিচের SQL স্টেটমেন্ট প্রয়োগ করতে হবে: <br />
</p>
<p>SELECT * FROM Customers<br />
WHERE Country=’Mexico’;</p>
<p>SQL স্টেটমেন্ট লেখার সময় যে শর্ত প্রয়োগ করা হয় তা single quote এর ভেতরে লেখা হয় (যদিও অনেক ডাটাবেজ double quote ও সাপোর্ট করে)। তবে numeric ডাটার ক্ষেত্রে কোনো quote ব্যবহার করার প্রয়োজন নেই। <br />
</p>
<h3>উদাহরণ: <br />
</h3>
<p>SELECT * FROM Customers<br />
WHERE CustomerID=1;<br />
<br />
<strong>WHERE ক্লজ প্রয়োগ করার সময় যে operator গুলো ব্যবহার করা হয়:</strong></p>
<table border=”1″ cellpadding=”1″ width=”100%”>
<tr>
<td width=”19%”><p align=”center”><strong>Operator</strong></p></td>
<td><p align=”center”><strong>ব্যাখ্যা</strong></p></td>
</tr>
<tr>
<td><p>=</p></td>
<td><p>সমান</p></td>
</tr>
<tr>

<>&nbsp;
<td><p>অসমান। যদিও SQL এর কোনো কোনো ভার্সনে এই অপারেটরকে != এভাবেও লেখা হয় </p></td>
</tr>
<tr>

>&nbsp;
<td><p>বড়</p></td>
</tr>
<tr>

<&nbsp;
<td><p>ছোট</p></td>
</tr>
<tr>
<td><p>&gt;=</p></td>
<td><p>সমান কিংবা বড়</p></td>
</tr>
<tr>
<td><p>&lt;=</p></td>
<td><p>সমান কিংবা ছোট</p></td>
</tr>
<tr>
<td><p>BETWEEN</p></td>
<td><p>নির্ধারণ করা একটি সীমার মধ্যে (দুই প্রান্তের ডাটার মানসহ)</p></td>
</tr>
<tr>
<td><p>LIKE</p></td>
<td><p>সাদৃশ আছে এমন</p></td>
</tr>
<tr>
<td><p>IN</p></td>
<td><p>একটি কলামে একাধিক সম্ভাব্য মান নির্ধারণ করতে </p></td>
</tr>
</table>

SQL Select Distinct Statement . SQL SELECT DISTINCT Statement

নাম-শারিফুল ইসলাম
Job category-Php Coder

বিষয়- SQL Select Distinct Statement
Distinct statement ব্যবহার করা হয় একই রকম duplicate ডাটা থেকে মাত্র ভিন্ন ভিন্ন ডাটাগুলো খুজে বের করার জন্য।
এই জন্য আমরা একটি user নামে ডাটাবেস তৈরি করি। তাতে ৪ টি ফিএলদ তৈরি করি name, email , pass, city. এবং এর মাঝে ৪-৫ টি ডাটা ইন্সেরত করি।
Name city email
Bappi Dhaka bappi@yahoo.com
Nipa Dhaka nipa@yahoo.com
Kabir shylet kabir@yahoo.com
এই ভাবে করে কিছু ডাটা অ্যাড করি এবং সেভ বাটন এ ক্লিক করি।SQL query window ওপেন করে আমরা এই কোড টুকু রুন করলে আমরা একটা ফলাফল দেখতে পারব।
SQL QUERY
SELECT DISTINCT `city` FROM user
তাহলে আমরা কোড টুকু রান করার পর শুধু city এর ঘরে একটি ঢাকা ডাটা দেখতে পাব।

SQL SELECT Statement (এসকিউএল বিবৃতি নির্বাচন):

SQL SELECT Statement (এসকিউএল বিবৃতি নির্বাচন):

Article By
Fazle Rabbi
B.Sc in CSE at PSTU

SELECT স্টেটমেন্ট একটি ডাটাবেস থেকে তথ্য নির্বাচন করতে ব্যবহার করা হয়।

The SQL SELECT Statement:
SELECT স্টেটমেন্ট একটি ডাটাবেস থেকে তথ্য নির্বাচন করতে ব্যবহার করা হয়।
এর ফল টেবিলের মধ্যে সংরক্ষিত হয়, যাকে রেজাল্ট সেট বলে।

SQL SELECT Syntax (এসকিউএল নির্বাচন সিনট্যাক্স):

SELECT column_name,column_name
FROM table_name;
এবং
SELECT * FROM table_name;

Demo Database(ডেমো ডাটাবেস):
এই টিউটোরিয়ালে আমরা সুপরিচিত প্রতিলিপি নমুনা ডাটাবেস ব্যবহার করব।
নীচে “Customers” টেবিল থেকে selection বা নির্বাচন দেখানো হয়েছে:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

SELECT Column Example(নির্বাচন কলাম উদাহরণ):
নিম্নোক্ত SQL বিবৃতি “Customers” টেবিল থেকে “CustomerName” এবং “City” কলাম কিভাবে SELECT বা নির্বাচন করতে হয় তার একটা উদাহরণ দেখানো হল:

SELECT CustomerName,City FROM Customers;

SELECT * Example:
নিম্নোক্ত SQL বিবৃতি “Customers” টেবিল থেকে সব কলাম নির্বাচন করবে:

SELECT * FROM Customers;

Navigation in a Result-set(রেজাল্ট সেটে ন্যাভিগেশন):
অধিকাংশ ডাটাবেস সফ্টওয়্যার সিস্টেম রেজাল্ট সেটে ন্যাভিগেশন অনুমতি দেয় নিন্মক্ত প্রোগ্রামিং ফাংশন বাবহারের মধ্যমে,
উদাহরন্সরুপঃ Move-To-First-Record, Get-Record-Content, Move-To-Next-Record, ইত্যাদি।

প্রোগ্রামিং ফাংশনগুলো এই টিউটোরিয়াল এর অংশ নয়. ফাংশান কলের সঙ্গে তথ্য অ্যাক্সেস সম্পর্কে জানতে, আমাদের এএসপি টিউটোরিয়াল বা আমাদের পিএইচপি টিউটোরিয়াল অনুগ্রহ করে পরিদর্শন করুন.

SQL কি? Introduction to SQL

SQL কি?

SQL কে আমরা Structured Query Language বলি। সাধারণত আমরা একে সংক্ষেপে SQL বলি। এসকিউএল একটি তথ্যভান্ডারের সঙ্গে যোগাযোগ করতে ব্যবহার করা হয়। ডেটাবেসের বেশিরভাগ কাজ এসকিউয়েল স্টেটমেন্ট এর দ্বারা করা যায়। ANSI (আমেরিকান ন্যাশনাল স্ট্যান্ডার্ড ইনস্টিটিউট) মতে, এটি রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম জন্য আদর্শ ভাষা। এসকিউএল স্টেটমেন্ট কোন ডেটাবেস থেকে তথ্য একটি ডাটাবেসের উপর আপডেট করা কর্ম সঞ্চালন।

এসকিউয়েল দিয়ে কি কি করা যায়ঃ

১। নতুন একটা ডেটাবেস তৈরী করা যায়।
২। নতুন টেবিল তৈরী করা যায়।
৩। Query করা যায়।
৪। ডেটাবেস থেকে ডেটা তুলে আনা যায়।
৫। ডেটাবেসে নতুন রেকর্ড ঢুকানো যায়।
৬। রেকর্ড আপডেট করা যায় ইত্যাদি।

কিভাবে আপনার ওয়েব সাইটের এ এসকিউএল ব্যবহার করবেনঃ

কোন ডেটাবেস থেকে তথ্য প্রদর্শন এমন একটি ওয়েব সাইট তৈরি করার জন্য, আপনাকে করতে হবে-

১। একটি RDBMS ডাটাবেস প্রোগ্রাম (অর্থাৎ মাইক্রোসফট এক্সেস, এসকিউএল সার্ভার, মাইএসকিউএল)
২। পিএইচপি বা এএসপি মত একটি সার্ভার সাইড স্ক্রিপ্টিং ভাষা ব্যবহার করা।
৩। HTML / CSS এর ব্যবহার করা।

ধন্যবাদ।

এসকিউএল টিউটোরিয়াল . SQL Tutorial

এসকিউএল টিউটোরিয়াল
Sheikh Mahfuzur Rahman

এসকিউএল(SQL) হলো ডাটাবেজগুলোতে প্রবেশ বা অ্যাক্সেস করার জন্য একটি প্রোগ্রামিং ভাষা। যারা ওয়েব ডেভলাপার হতে চান তাদের জন্য এসকিউএল একটি অত্যন্ত গুরুত্বপূর্ণ ল্যাঙ্গুয়েজ। আমাদের টিউটোরিয়ালগুলো আপনাকে এসকিউএল এর যথাযথ ব্যবহার শেখাবে যাতে আপনি এই ভাষাটি ব্যবহার করে মাইএসকিউএল(MySQL), এসকিউএল সার্ভার(SQL Server), মাইক্রোসফট অ্যাক্সেস(Access), ওরাকল(Oracle), সিবেইজ(SyBase), ডিবিটু(DB2) এবং অন্যান্য ডাটাবেজ সিস্টেমে প্রবেশ এবং ডাটা মেন্যুপিউলেট করতে পারেন।

প্রত্যেক অধ্যায়ের উদাহরণসমূহঃ
আমাদের অনলাইন এসকিউএল এডিটরের মাধ্যমে আপনি এসকিউএল স্টেইটমেন্ট এডিট করতে পারবেন এবং একটি বাটনে ক্লিক করে তার ফলাফল জানতে পারবেন।

এই প্রক্রিয়াটি কিভাবে কাজ করে তা বুঝার জন্য উপরের ট্রাই ইট ইউরসেলফ(Try It Yourself) বাটনে ক্লিক করুন।

এখনই এসকিউএল শেখা শুরু করুন!

এসকিউএল কুইজ টেস্ট
আমাদের সাইটের এসকিউএল কুজ টেস্টে অংশ নিয়ে আপনার এসকিউএল দক্ষতা যাচাই করুন!

এসকিউএল কুইক রেফারেন্স
নিচের লিংকটিতে আছে একটি এসকিউএল কুইক রেফারেন্স। এটি প্রিন্ট করে নিন এবং আপনার সাথে রাখুন!

এসকিউএল ডাটা টাইপ
মাইক্রোসফট অ্যাক্সেস, মাইএসকিউএল এবং এসকিউএল সার্ভার এর ডাটা টাইপ ও রেঞ্জগুলো সম্পর্কে ধারণা পেতে নিচের লিংকে ভিজিট করুন।

তাছাড়া আপনার এসকিউএল দক্ষতার স্বীকৃতি পেতে এবং পেশাগতভাবে সেটিকে কাজে লাগাতে আমাদের অনলাইন পরীক্ষাগুলোতে অংশ নিন!

SQL ইউনিক Constraint . SQL Unique Constraint

SQL ইউনিক Constraint
RIAZ-UL-HAQUE MIAN
ইউনিক Constraint একটি টেবিল এর যেকোনো একটি কলাম এর স্বতন্ত্রতা/ uniqueness কে বুঝায় . টেবিল এর প্রাইমারি কি সেট করলে তা automatically ইউনিক Constraint হয়ে যায়। তাহলে প্রশ্ন হলো ইউনিক Constraint দরকার কি ? কারণ আপনি একটা টেবিল এর একটা মাত্র কলাম কে ই প্রাইমারি কি করতে পারবেন , কিন্ত যদি আপনার একটা টেবিল এ একাধিক কলাম কে ইউনিক করতে হয় তাহলে SQL ইউনিক Constraint ব্যবহার করতে হবে |
টেবিল এর ইউনিক Constraint কে দুই ভাবে সেট করা যায় । প্রথম টি হলো টেবিল তৈরী করার সময় create Table starement ব্যবহার করে আর অন্য টি হলো টেবিল অল্টার করে, অর্থাত একটা টেবিল alrady তৈরী করা আছে তার কোনো একটা কলাম কে alter table statement ব্যবহার করে |
এখন আমরা দেখব টেবিল তৈরী করার সময় কি ভাবে সেট করে |
ধরে নেই আমাদের একটা টেবিল তৈরী করতে হবে যার নাম Persons এবং সেই টেবিল এর একটা কলাম P_Id যাকে আমরা SQL ইউনিক Constraint সেট করব |
SQL Server / Oracle / MS Access queary টি হবে :
CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
আর MySQL জন্য হবে :
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)
এই কাজ টি একাধিক কলাম এর জন্য করতে হলে নিচের queary টি লিখতে হবে (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 uc_PersonID UNIQUE (P_Id,LastName)
)

এত্তক্ষন আমরা দেখলাম কিভাবে একটা টেবিল তৈরী করার সময় ইউনিক Constraint
সেট করে। এবার মনে করি Persons টেবিল টি আগে থাকে ই তৈরী করা আছে এখন আমাদের কে P_Id ইউনিক Constraint সেট করতে হবে। এক্ষেত্রে আমরা অল্টার টেবিল statement ব্যবহার করব
ALTER TABLE Persons
ADD UNIQUE (P_Id)
সব শেষে দেখব কিভাবে কে ইউনিক Constraint রিমুভ করে । এক্ষেত্রে MySQL ও SQL Server / Oracle / MS Access SQL starement নিচে দিয়া হলো
MySQL ক্ষেত্রে query টি হবে নিন্মরূপ :
ALTER TABLE Persons
DROP INDEX uc_PersonID
আর SQL Server / Oracle / MS Access ক্ষেত্রে quraery টি হবে নিন্মরূপ :
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

SQL ডিফল্ট Constraint

SQL ডিফল্ট Constraint
NAZMA AKHRET
টেবিল এ যখন কোনো নতুন ভ্যালু insert করা হয় তখন কোনো টেবিল এর কোনো ফিল্ড এ ফিক্সড কোনো ভ্যালু সেট করতে হলে default (ডিফল্ট) Constraint ব্যবহার করতে হবে | যখন কোনো নিউ ভ্যালু টেবিল এ insert করা হবে তখন default (ডিফল্ট) Constraint টি row insert সাথে insert হয়ে যাবে |
এখন আমরা দেখব টেবিল তৈরী করার সময় কি ভাবে সেট করে | উধারণ সরূপ আমরা Persons Table এর city (সিটি) কলাম এ সব সময় Dhaka (ঢাকা) সেট করতে চাই সেক্ষেত্রে SQL syntax হবে :
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT ‘Dhaka’
)
default (ডিফল্ট) Constraint এ SQL server function ও ব্যবহার করা যায় যেমন
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)
এত্তক্ষন আমরা দেখলাম কিভাবে একটা টেবিল তৈরী করার সময় default (ডিফল্ট) Constraint সেট করে। এবার মনে করি Persons টেবিল টি আগে থাকে ই তৈরী করা আছে এখন আমাদের কে city column এর ডিফল্ট ভ্যালু Dhaka (ঢাকা) করতে হবে এক্ষেত্রে আমরা অল্টার টেবিল statement ব্যবহার করব
MySQL:
ALTER TABLE Persons
ALTER City SET DEFAULT ‘SANDNES’
SQL Server / MS Access:
ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT ‘SANDNES’
Oracle:
ALTER TABLE Persons
MODIFY City DEFAULT ‘SANDNES’

সব শেষে দেখব কিভাবে কে default (ডিফল্ট) Constraint রিমুভ করে । এক্ষেত্রে MySQL ও SQL Server / Oracle / MS Access SQL starement নিচে দিয়া হলো
MySQL ক্ষেত্রে query টি হবে নিন্মরূপ :
ALTER TABLE Persons
ALTER City DROP DEFAULT
আর SQL Server / Oracle / MS Access ক্ষেত্রে quraery টি হবে নিন্মরূপ :
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT