Title: SQL CREATE INDEX Statement . SQL Create Index Statement

Title: SQL CREATE INDEX Statement
অনুবাদক: ফয়সাল রকি (এম.এ)
Total word count: 247

—————————————————–
CREATE INDEX স্টেটমেন্টের সাহায্যে কোনো table এর index প্রস্তুত করা হয়।
index ব্যবহার করে database application এর সাহায্যে কোন table এর মধ্যকার data কে সহজে খুঁজে বের করা যায়। এক্ষেত্রে পুরো table টি খুঁজতে হয় না, ফলে দ্রুত data খুঁজে পাওয়া যায়।

Indexes
index এর সাহায্যে table এর মধ্যকার data দ্রুত ও দক্ষতার সাথে খুঁজে পাওয়া যায়। এক্ষেত্রে ব্যবহারকারী index কে দেখতে পায় না তবে দ্রুত ও দক্ষতার সাথে search বা query সম্পন্ন হয়।
নোট: যেসকল table এ index যুক্ত করা থাকে সেসকল table কে update করতে index বিহীন table অপেক্ষা বেশি সময় প্রয়োজন হয়, কেননা data এর পাশাপাশি index-ও update হয়।

SQL CREATE INDEX Syntax
একটি table এ নিম্নোক্ত উপায়ে index তৈরি করা যায় (Duplicate values গ্রহণযোগ্য/ থাকতে পারে):
CREATE INDEX index_name
ON table_name (column_name)

SQL CREATE UNIQUE INDEX Syntax
একটি table এ নিম্নোক্ত উপায়ে unique index তৈরি করা যায় (Duplicate values অ্গ্রহণযোগ্য/থাকবে না):
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
উল্লেখ্য যে, ভিন্ন ভিন্ন database এ index তৈরি করার ক্ষেত্রে syntax এর পার্থক্য হতে পারে। তাই আপনার database এর index তৈরি করার সময় syntax টি ভালভাবে check করুন।

CREATE INDEX উদাহরণ
নিম্নোক্ত SQL statement এর সাহায্যে “Persons” table এর “LastName” column এ “PIndex” নামক index তৈরি করা হয়েছে:
CREATE INDEX PIndex
ON Persons (LastName)

যদি আপনি একাধিক column এর মধ্যে index তৈরি করতে চান তাহলে প্রথম বন্ধনী বা parentheses এর মধ্যে comma separated বা কমা’র সাহায্যে আলাদা করে column এর list করতে পারেন।নিম্নে একটি উদাহরণ দেয়া হলো:
CREATE INDEX PIndex
ON Persons (LastName, FirstName)

এসকিউএল কন্সট্রেইন্টস . SQL Constraints

Sheikh Mahfuzur Rahman
Blogger @ BloggersEcho.Com
Bengali Word Count: 155-159

এসকিউএল কন্সট্রেইন্টস

ওয়েব ডাটাবেজ ল্যাঙ্গুয়েজ এসকিউএল(SQL) এ কন্সট্রেইন্টগুলো(Constraints) কোন টেবলের ডাটাগুলোর রুলস বা নীতি নির্ধারণে ব্যবহৃত হয়। এক্ষেত্রে ডাটা অ্যাকশান এবং কন্সট্রেইন্টের নীতির মধ্যে সাংঘর্ষিক(Violation) কিছু ঘটলে কন্সট্রেইন্টের কার্যকারিতা বাতিল হয়ে যায়। যখন টেবল তৈরি করা হয় তখন CREATE TABLE স্টেটম্যান্টের ভিতরে অথবা টেবল তৈরি করার পর ALTER TABLE স্টেটম্যান্টের ভিতরে কন্সট্রেইন্টগুলো নির্দিষ্ট করে দেয়া যায়।

এসকিউএল ক্রিয়েট টেবল + কন্সট্রেইন্ট সিন্ট্যাক্স:

CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
….
);

এসকিউএল-এ নিচের কন্সট্রেইন্টগুলো রয়েছেঃ

NOT NULL – নির্দেশ করে যে একটি কলাম নাল ভ্যালু ধারণ করতে পারবেনা।

UNIQUE – একটি কলামের প্রত্যেক রো এর ইউনিক ভ্যালু নিশ্চিত করে।

PRIMARY KEY – এটি হলো নট নাল ও উনিক এর সমন্বয়। নিশ্চিত করে যে একটি কলাম অথবা দুই বা আরও বেশী কলাম কম্বিনশনের একটি ইউনিক বা অনন্য পরিচিতি থাকে যা একটি টেবলে কোন নির্দিষ্ট রেকর্ড সহজে এবং দ্রুততার সাথে খুঁজে পেতে সাহাজ্য করে।

FOREIGN KEY – একটি টেবলের ডাটার রেফারেন্সিয়াল ইন্টিগ্রিটি নিশ্চিত করে যাতে অন্য টেবলের ভ্যালুগুলোর সাথে মেলানো যায়।

CHECK – কোন কলামের ভ্যালু যেন একটি নির্দিষ্ট বৈশিষ্ট্য অর্জন করে তা নিশ্চিত করে।

DEFAULT – কলামের জন্য যখন কোন ভ্যালু নির্ধারণ করা হয় হয় না তখন এটি একটি ডিফল্ট ভ্যালু নির্ধারন করে দেয়।

এই ছিল এসকিউএল কস্ট্রেইন্টগুলোর প্রাথমিক ধারনা। পরবর্তী অধ্যায়ে প্রতিটি কন্সট্রেইন্ট সম্পর্কে বিস্তারিতভাবে আলোচনা করা হবে।

SQL এর PRIMARY KEY তথা প্রাথমিক চাবি এর বাধ্যবাদকতা।SQL Primary Key Constraint

SQL এর PRIMARY KEY তথা প্রাথমিক চাবি এর বাধ্যবাদকতা।
ফাছিহুর রহমান।
MSCSE From Royal University of Dhaka.
টেকনিক্যার এক্সপার্ট, বাংলাদেশ নির্বাচন কমিশন সচিবালয়।

SQL এর প্রাথমিক কি এর বাধ্যবাদকতা।
প্রাথমিক কি বাধ্যবাদকতাটি ডাটাবেজের টেবিলের প্রত্যেকটি Record তথা ক্ষেত্রকে নির্দিষ্ট ভাবে চিন্হিত করে। প্রাথমিক কি অবশ্যয় নির্দিষ্ট মান বহন করে। একটি primary key সম্বলীত কলামকে কখন ও খালি রাখা কে গ্রহণ করে না। অধিকাংশ টেবিলগুলোতে একটি primary key থাকে এবং প্রত্যেক টা টেবিলে শুধুমাত্র একটি primary key থাকে।
SQL এ একটি টেবিল তৈরীতে primary key এর বাধ্যবাদকতা।
নিন্মোক্ত SQL এ Persons টেবিল তৈরীতে P_Id কলামকে primary key হিসেবে তৈরী করা হয়েছে।
MySQL এ PRIMARY KEY তৈরী করার উদাহরণ।
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)
)
উক্ত Persons টেবিলে P_Id কলামকে PRIMARY KEY তৈরী করা হয়েছে।
SQL Server / Oracle / MS Access: এ PRIMARY KEY তৈরী করার উদাহরণ।
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
উক্ত Persons টেবিলে P_Id কলামকে PRIMARY KEY তৈরী করা হয়েছে।
PRIMARY KEY এর বাধ্যবাদকতার নামকরণ এবং একাধিক কলামে PRIMARY KEY কে নির্দিষ্ট করার জন্য নিন্মোক্ত SQL নিয়মঃ
MySQL / SQL Server / Oracle / MS Access: এ একাধিক কলামে PRIMARY KEY তৈরী করার উদাহরণ।
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)
)
বিঃদঃ- উক্ত Persons টেবিলে মাত্র pk_PersonID কলাম কে PRIMARY KEY করা হয়েছে তথাপ ও pk_PersonID কলামের মান তথা value কে দুইটি কলামে( P_Id ও LastName) বিভক্ত করা হয়েছে।
SQL একটি তৈরীকৃত টেবিলে PRIMARY KEY এর বাধ্যবাদকতাঃ
একটি তৈরীকৃত টেবিলে P_Id কলামকে PRIMARY KEY এর বাধ্যবাদকতা হিসেবে তৈরী করতে নিন্মোক্ত SQL কমান্ড ব্যবহার করা হয়ঃ
MySQL / SQL Server / Oracle / MS Access: এ ব্যবহার
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
PRIMARY KEY এর বাধ্যবাদকতার নামকরণ এবং একাধিক কলামে PRIMARY KEY কে নির্দিষ্ট করার জন্য নিন্মোক্ত SQL নিয়ম ঃ
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

বিঃদঃ- যদি তুমি একটি তৈরীকৃত টেবিল হতে অন্য একটি টেবিল তৈরীতে একটি primary key সংযোগ করতে চাও তবে অবশ্যই primary key হিসেবে ঘোষিত কলামটিকে কিছু না দিয়ে খালী রাখা যাবে না মর্মে উল্লেখ করতে হবে(এটা প্রথম টেবিল তৈরীতে)।
PRIMARY KEY এর বাধ্যবাদকতাকে বাদ দেয়াঃ
একটি PRIMARY KEY এর বাধ্যবাদকতাকে বাদ দিতে হলে নিন্মোক্ত SQL কমান্ড ব্যবহার করতে হয়।
MySQL: এ নিন্মোক্ত কমান্ড
ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access: এ নিন্মোক্ত কমান্ড
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

এসকিউএল ফরেন কি কন্সট্রেইন্ট .

এসকিউএল ফরেন কি কন্সট্রেইন্ট
Sheikh Mahfuzur Rahman

একটি টেবলের FOREIGHN KEY অন্য টেবলের PRIMARY KEY এর দিকে নির্দেশ করে। একটি উদাহরণের মাধ্যমে “ফরেন কি” কে ব্যাখ্যা করা যাক। নিচের দুটো টেবলের দিকে লক্ষ্য করুন যার একটি হলো ”Persons” টেবল এবং অন্যটি হলো “Orders” টেবলঃ

The “Persons” table:
P_Id
LastName
FirstName
Address
City
1
Hansen
Ola
Timoteivn 10
Sandnes
2
Svendson
Tove
Borgvn 23
Sandnes
3
Pettersen
Kari
Storgt 20
Stavanger
The “Orders” table:
O_Id
OrderNo
P_Id
1
77895
3
2
44678
3
3
22456
2
4
24562
1

লক্ষ্য করুন, “Orders”টেবলের “P_Id” কলাম ”Persons” টেবলের ”P_Id” কলামের দিকে নির্দেশ করছে। তাই এখানে ”Persons” টেবলের “P_Id” কলাম হলো এই টেবলের প্রাইমারি কি; অন্যদিকে ”Orders” টেবলের “P_Id” কলাম হলো ”Orders” টেবলের ফরেন কি।
কিছু কিছু কার্যক্রম, যেগুলো টেবল থেকে টেবলের যে লিংক রয়েছে তা নষ্ট করে দিতে পারে, বন্ধ করার জন্য FOREIGHN KEY ব্যবহৃত হয়। FOREIGHN KEY কন্সট্রেইন্ট ফরেন কি কলামে ভুল বা ইনভ্যালিড ডাটা প্রবেশ করানোর ক্ষেত্রেও বাধা দেয় কারন এটি শুধুমাত্র সেই ভ্যালুগুলো ধারণ করতে পারবে যা অন্য টেবলের প্রাইমারি কি কলামে সংরক্ষিত রয়েছে।

CREATE TABLE এ এসকিউএল FOREIGHN KEY কন্সট্রেইন্ট
নিচের এসকিউএল সিন্টেক্সটটি ”Orders” টেবল তৈরি করার সময় তার “P_Id” কলামে একটি FOREIGHN KEY তৈরি করে; বিভিন্ন ডাটাবেজ সিস্টেমে ফরেন কি’র এসকিউএলগুলো দেখে নেয়া যাকঃ
MySQL:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

FOREIGHN KEY কন্সট্রেইন্টের নামকরন করার জন্য এবং অনেকগুলো কলামে একটি FOREIGHN KEY কন্সট্রেইন্ট সংজ্ঞায়িত করার জন্য নিচের এসকিউএল সিন্টেক্সট ব্যবহার করুনঃ
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)

ALTER TABLE এ এসকিউএল FOREIGHN KEY কন্সট্রেইন্ট
যেখানে “Orders” টেবলটি ইতোমধ্যেই তৈরি করা হয়ে গেছে সেক্ষেত্রে “Orders” টেবলের ‘”P_Id” কলামে একটি FOREIGHN KEY” কন্সট্রেইন্ট তৈরি করতে নিচের এসকিউএল’টি ব্যবহার করুনঃ
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

ফরেন কি কন্সট্রেইন্টের নামকরন করার জন্য এবং অনেকগুলো কলামে একটি ফরেন কি কন্সট্রেইন্ট সংজ্ঞায়িত করার জন্য(ALTER TABLE এর ক্ষেত্রে) নিচের এসকিউএল সিন্ট্যাক্সট ব্যবহার করুনঃ
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

একটি ফরেন কি কন্সট্রেইন্ট ড্রপ করার জন্য
একটি FOREIGHN KEY কন্সট্রেইন্ট DROP অর্থাৎ সেটি বাদ দেয়ার জন্য নিচের এসকিউএল’টি ব্যবহার করুনঃ
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders
SQL Server / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders

SQL (এসকিউএল) NULL Values(মান): SQL Null Values

SQL (এসকিউএল) NULL Values(মান):
Null value বলতে অনুপস্থিত বা মানহীন data বুঝায় । এর মান কখন শুন্য বা খালি স্ট্রিং
(String) হয় না এবং এই শুন্য বা খালি স্ট্রিং(String) একটি মান প্রকাশ করে কিন্তু আমরা জানি NULL এর কোন মান নেই । NULL এর মান NULL এ গঠিত গাণিতিক ফলাফল দ্বারা নির্ণয় করা হয় । যেমনঃ 10 + NULL = NULL

পদবিন্যাস (Syntax):

SQL> CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);

এখানে NOT NULL মানে কলাম সবসময় একটি সুনির্দিষ্ট মান গ্রহণ করে যার মান দেয়া থাকে । এখানে দুটি কলাম আছে যেখানে আমরা NOT NULL ব্যাবহার করি নাই যার মানে এই কলামগুলো NULL হতে পারে ।
NULL value এমন একটি মান যা কোন রেকর্ড নির্মাণের সময় খালি রাখা হয় ।

যেমনঃ
আপনাকে অবশ্যই NULL value চেক করার সময় হয় IS NULL অথবা IS NOT NULL অপারেটর
ব্যবহার করতে হবে । নিচের টেবিলে CUSTOMERS-এর নিম্নলিখিত বিবরণ রয়েছেঃ

+—-+———-+—–+———–+———-+
| ID | NAME | AGE | ADDRESS | SALARY |
+—-+———-+—–+———–+———-+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | |
| 7 | Muffy | 24 | Indore | |
+—-+———-+—–+———–+———-+

নিম্নলিখিত উদাহরণটি IS NOT NULL অপারেটর:

SQL> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
WHERE SALARY IS NOT NULL;

যা নিম্নলিখিত ফলাফল প্রকাশ করেঃ

+—-+———-+—–+———–+———-+
| ID | NAME | AGE | ADDRESS | SALARY |
+—-+———-+—–+———–+———-+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
+—-+———-+—–+———–+———-+

নিম্নলিখিত উদাহরণটি IS NULL অপারেটর:

SQL> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
WHERE SALARY IS NULL;

যা নিম্নলিখিত ফলাফল প্রকাশ করেঃ

+—-+———-+—–+———–+———-+
| ID | NAME | AGE | ADDRESS | SALARY |
+—-+———-+—–+———–+———-+
| 6 | Komal | 22 | MP | |
| 7 | Muffy | 24 | Indore | |
+—-+———-+—–+———–+———-+

SQL DROP INDEX, DROP TABLE, and DROP DATABASE

Title: SQL DROP INDEX, DROP TABLE, and DROP DATABASE
অনুবাদক: ফয়সাল রকি (এম.এ)
Total word count: 164

DROP statement এর সাহায্যে Indexes, tables কিংবা databases কে সহজেই deleted বা removed করা যায়।
The DROP INDEX Statement
DROP INDEX statement ব্যবহার করে একটি table এর একটি index কে delete করা যায়।
MS Access এর ক্ষেত্রে ব্যবহৃত DROP INDEX সিনট্যাক্স (Syntax) হলো:
DROP INDEX index_name ON table_name

MS SQL Server এর ক্ষেত্রে ব্যবহৃত DROP INDEX সিনট্যাক্স (Syntax) হলো:
DROP INDEX table_name.index_name

DB2/Oracle এর ক্ষেত্রে ব্যবহৃত DROP INDEX সিনট্যাক্স (Syntax) হলো:
DROP INDEX index_name

MySQL এর ক্ষেত্রে ব্যবহৃত DROP INDEX সিনট্যাক্স (Syntax) হলো:
ALTER TABLE table_name DROP INDEX index_name

The DROP TABLE Statement
DROP TABLE statement কোনো একটি table কে delete করার ক্ষেত্রে ব্যবহৃত হয়।

The DROP DATABASE Statement
DROP DATABASE Statement কোনো একটি database কে delete করার ক্ষেত্রে ব্যবহৃত হয়।

The TRUNCATE TABLE Statement
যখন আমরা কোনো table হতে নির্দিষ্ট কিছু data delete করতে চাইবো তখন TRUNCATE TABLE Statement এর সাহায্যে তা করা হয়। উল্লেখ্য যে, এক্ষেত্রে পুরো table টিকে delete করা হয় না। TRUNCATE TABLE Statement নিম্নে দেখানো হলো:
TRUNCATE TABLE table_name

SQL Date Functions

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

বিষয়- SQL Date Functions
এটি একটি কঠিন বিষয় যখন আমরা date নিয়ে কাজ করব নির্দিষ্ট ভাবে আমাদের date format জেনে নিতে হবে।আমরা date নিয়ে কাজ করতে গেলে এর কয়েকটি ফরম্যাট আমাদের জানতে হবে।
Now()-বর্তমান সময় এবং তারিখ পাওয়া যাবে
CURDATE()-বর্তমান তারিখ পাওয়া যাবে
CURTIME()-বর্তমান সময় পাওয়া যাবে
EXTRACT()-সময়/তারিখ এর একটি single পার্ট পাওয়া যাবে।
DATEDIFF()-দুটি তারিখের মাঝের সময় নির্ধারণ করবে।
DATE_FORMAT()-ভিন্ন ভিন্ন format এর date/time ডিসপ্লে করবে।
এখন আমরা NOW() কাজে লাগিয়ে একটি টেবিল তৈরি করব। যেকোনো একটি নাম দিয়ে একটি ডাটাবেস তৈরি করি। SQL window তে গিয়ে নিচের query টি চালনা করি
CREATE TABLE Orders
(
OrderId int NOT NULL,
ProductName varchar(50) NOT NULL,
OrderDate datetime NOT NULL DEFAULT NOW(),
PRIMARY KEY (OrderId)
)
Save বাটন এ ক্লিক করার পর আবার sql window তে গিয়ে নিচের কোড টুকু টাইপ করি
INSERT INTO Orders (ProductName) VALUES (‘Jarlsberg Cheese’)
এবং রান করলে আমরা নিচের মতন দেখতে পাব
OrderId ProductName OrderDate
1 Jarlsberg Cheese 2015-01-25 13:23:44.657
মানে orderdate সময় এবং তারিখ সহ ইনপুট হয়েছে।একটু যদি লক্ষ্য করি আমরা orderdate এ কোন ডাটা কিন্ত ইনপুট সে অটোমেটিক কম্পিউটার থেকে টাইম ও তারিখ জেনে নিয়ে নিজেই বসিয়েছে। অর্থাৎ যদি
NOW() ব্যবহার করতে চাইলে লিখতে হবে
OrderDate datetime NOT NULL DEFAULT NOW()
CURDATE()ব্যবহার করতে চাইলে লিখতে হবে
OrderDate datetime NOT NULL DEFAULT CURDATE()
CURTIME()ব্যবহার করতে চাইলে লিখতে হবে
OrderDate datetime NOT NULL DEFAULT CURTIME()
SQL QUERY এর মাধ্যমে যদি আমরা date select করে কোন ডাটা বের করতে চাই
তাহলে লিখতে হবে
SELECT NOW(),CURDATE(),CURTIME()
এবং আমরা যে ফলাফল তা পাব
NOW() CURDATE() CURTIME()
2015-01-25 12:45:34 2015-01-25 12:45:34

যদি আমরা দুটি date এর মাঝে difference খুজে পেতে চাই তাহলে ব্যবহার করব
SELECT DATEDIFF(‘2014-11-30′,’2014-11-29′) AS DiffDate
তাহলে ফলাফল আসবে ১
এখন আসা যাক কিভাবে date format ঠিক করতে হয়
SYNTAX
DATE_FORMAT(date,format)
date ফরম্যাট ঠিক রাখার জন্য আমরা কিছু ফিচার ব্যবহার করতে পারি
%a=সপ্তাহের দিনের নাম
%b=মাসের নাম
%c=মাস numeric
%D=দিন ইংলিশ suffix অনুযায়ী
%d= দিন numeric(00-31)
%e=দিন numeric(0-31)
%H=ঘণ্টা (00-23)
%h=ঘণ্টা (01-12)
%I= ঘণ্টা (01-12)
%i=minutes numeric(00-59)
%M=মাসের নাম
%m=মাসের নাম numeric(01-12)
%p=AM/PM
%s=সেকেন্ড (00-59)
%W=সপ্তাহের নাম
%w=সপ্তাহের নাম numeric(01-07)
%Y=বছর ৪ ডিজিট
%y=বছর ২ ডিজিট
SQL query এর মধ্যে যদি আমরা লিখি
DATE_FORMAT(NOW(),’%b %d %Y %h:%i %p’)
DATE_FORMAT(NOW(),’%m-%d-%Y’)
DATE_FORMAT(NOW(),’%d %b %y’)
DATE_FORMAT(NOW(),’%d %b %Y %T:%f’)
তাহলে আমাদের ফলাফল আসবে
Nov 04 2014 11:45 PM
11-04-2014
04 Nov 14
04 Nov 2014 11:45:34:243

SQL Not Null Constraint

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

বিষয়- SQL Not Null Constraint
Null এর অর্থ কোন জাইগা ফাকা থাকা।সাধারনত কোন টেবিল এর ফিল্ড যদি আমরা কোন কিছু না ইনপুট করে থাকি এবং সেভ করি তাহলে জাইগা টা ফাকা থাকে কিন্তু mysql database এ সেটিংস্‌ ঠিক করে দিলে সেই জাইগা আমরা যতক্ষণ পর্যন্ত কোন ডাটা না ইনপুট করব ততখন সম্পূর্ণ রো কখনই অ্যাড হবে না। সেই ক্ষেত্রে আমাদের টেবিল এর কোন ফিল্ড কে বলে দিতে হবে যে এই ফিল্ড টি not null ।তাহলেই আমাদের এই নিয়মটি কাজে লাগবে। প্রথমে আমরা একটি ডাটাবেস তৈরি করি। এরপর create বাটন এ ক্লিক করি। ডাটাবেস তৈরি হয়ে যাওয়ার পর উপরের উপরের মেনু থেকে SQL বাটন এ ক্লিক করি একটি উইন্ডো আসবে। সেখানে নিচের কোড টুকু টাইপ করি
CREATE TABLE PersonsNotNull
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
এবং সবশেষে go button এ ক্লিক করলে আমাদের ডাটাবেসের টেবিল তৈরি হয়ে গেল। এরপর আবার উপড়ের মেন্যু ত্থেকে insert বাটন এ ক্লিক করলে নতুন ডাটা এন্ট্রি করার জাইগা দেখা যাবে। একটি রো insert করুন শুধু LastName ঘরটা ফাকা রেখে এবং go button এ ক্লিক করুন দেখবেন কোন ডাটাই যোগ হচ্ছে না মানে আপনের not null ব্যবহার করার কারনে এই রকম টি হচ্ছে যদি আগে আপনি not null না সেটিংস্‌ করতেন তাহলে সহজেই যেকোনো ডাটা ফাকা রেখেই পুরন করতে পারবেন।

SQL (এসকিউএল) CHECK Constraint (কনস্‌স্ট্রেইন্ট)

SQL (এসকিউএল) CHECK Constraint (কনস্‌স্ট্রেইন্ট)

Article By: Protap Chandra

CHECK constraint ব্যবহার করা হয় একটি কলামে কোন ধরনের বা কোন ডাটা ইনপুট দেয়া যাবে তার উপর নজর রাখার জন্য। যদি একটি কলামে CHECK constraint বেধে দেয়া হয় তবে সেই কলামে কেবলমাত্র ওইজাতীয় ডাটাই ইনপুট দেয়া সম্ভব হবে।

CREATE TABLE স্টেটমেন্টের সাথে CHECK Constraint প্রয়োগ:

নিচের এসকিউএল স্টেটমেন্টটি “Persons” টেবিলটি তৈরী করার সময় “P_Id” কলামে একটি CHECK constraint যুক্ত করবে। এই constraint এর কাজ হবে “P_Id” কলামে যেন কেবল পূর্ণসংখ্যা (integer) প্রবেশ করানো হয় এবং তার মান হবে শুন্যের চেয়ে বড়, সেদিকে নজর রাখা।

MySQL এর ক্ষেত্রে:

CREATE TABLE Persons

(

P_Id int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CHECK (P_Id>0)

)

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

CREATE TABLE Persons

(

P_Id int NOT NULL CHECK (P_Id>0),

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

একাধিক কলামে CHECK constraint যুক্ত করতে নিচের SQL স্টেটমেন্টের syntax বা গঠনরীতি হবে নিম্নরূপ:

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 chk_Person CHECK (P_Id>0 AND City=’Sandnes’)

)

ALTER TABLE স্টেটমেন্টের মাধ্যমে CHECK Constraint যুক্ত করা:

ধরা যাক Persons টেবিলটি আগেই তৈরী হয়ে গেছে। তৈরীর সময় এতে CHECK constraint দেয়া হয়নি। এখন সেই কাজটি করতে হবে। “P_Id” কলামে CHECK constraint যুক্ত করতে নিচের SQL স্টেটমেন্টটি ব্যবহার করতে হবে।

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে প্রযোজ্য:

ALTER TABLE Persons

ADD CHECK (P_Id>0)

টেবিল তৈরী করার পর একাধিক কলামে CHECK constraint যুক্ত করতে গেলে এসকিউএল স্টেটমেন্টের গঠনরীতি হবে নিম্নরূপ:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে প্রযোজ্য:

ALTER TABLE Persons

ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City=’Sandnes’)

CHECK Constraint মুছে ফেলা:

CHECK constraint মুছে ফেলতে চাইলে নিচের SQL স্টেটমেন্ট ব্যবহার করতে হবে:

SQL Server / Oracle / MS Access এর ক্ষেত্রে প্রযোজ্য:

ALTER TABLE Persons

DROP CONSTRAINT chk_Person

MySQL এর ক্ষেত্রে:

ALTER TABLE Persons

DROP CHECK chk_Person

SQL (এসকিউএল) DROP INDEX, DROP TABLE এবং DROP DATABASE স্টেটমেন্ট . SQL Drop Index, Drop Table & Drop Database

SQL (এসকিউএল) DROP INDEX, DROP TABLE এবং DROP DATABASE স্টেটমেন্ট

Article By: Protap Chandra

ডাটাবেজে ডাটা ধরে রাখার এবং তা ব্যবহারে সুবিধার জন্য টেবিল, ইনডেক্স ইত্যাদি তৈরী করা হয়। কিন্তু এগুলো যদি প্রয়োজন না হয় তবে ইচ্ছা করলে মুছেও ফেলা যায়। এমনটি ডাটাবেজটিকেও প্রয়োজনে মুছে ফেলা সম্ভব। এখন আমরা শিখব কিভাবে এই কাজগুলো করা যায়।

নামের আগে DROP কমান্ড প্রয়োগ করে আমরা এগুলো মুছে ফেলতে পারি।

DROP INDEX স্টেটমেন্ট

DROP INDEX স্টেটমেন্ট ব্যবহার করা হয় টেবিল থেকে ইনডেক্স বা সূচি (index) মুছে ফেলার জন্য।

DROP INDEX গঠনরীতি:

MS Access এর ক্ষেত্রে:

DROP INDEX index_name ON table_name

MS SQL Server এর ক্ষেত্রে:

DROP INDEX table_name.index_name

DB2/Oracle এর ক্ষেত্রে:

DROP INDEX index_name

MySQL এর ক্ষেত্রে:

ALTER TABLE table_name DROP INDEX index_name

DROP TABLE স্টেটমেন্ট:

ডাটাবেজ থেকে কোনো একটি টেবিল মুছে ফেলতে DROP TABLE স্টেটমেন্ট ব্যবহার করা হয়। যেমন:

DROP TABLE table_name

DROP DATABASE স্টেটমেন্ট:

গোটা ডাটাবেজটিই মুছে ফেলতে DROP DATABASE স্টেটমেন্ট ব্যবহার করা হয়:

DROP DATABASE database_name

TRUNCATE TABLE স্টেটমেন্ট:

যদি কখনো টেবিল থেকে কেবল ডাটাগুলো মুছে দেয়ার প্রয়োজন হয় তখন আমরা কি করব? আমরা টেবিলটি মুছতে চাই না। সেক্ষেত্রে TRUNCATE TABLE স্টেটমেন্ট ব্যবহার করতে হবে:

TRUNCATE TABLE table_name