DDL স্টেটমেন্ট আপনার ডেটাবেসের কাঠামো সংজ্ঞায়িত আর পুনর্গঠন করে: টেবিল, কলাম, আর কনস্ট্রেইন্ট। এটি চারটি SQL পরিবারের প্রথমটি, নিজস্ব একটি পাঠে আলোচিত।
সংজ্ঞায়িত কলাম আর ডেটা টাইপের একটি সেট দিয়ে একটি নতুন টেবিল তৈরি করে।
CREATE TABLE table_name (
column datatype constraints
);CREATE TABLE Employee (
id INT PRIMARY KEY,
name VARCHAR(100),
department VARCHAR(50),
salary DECIMAL(10,2)
);সাধারণ ভুল
একটি PRIMARY KEY দিতে ভুলে যাওয়া, যা সারিগুলোকে অনন্যভাবে চিহ্নিত করা অসম্ভব করে তোলে।
একটি টেবিল স্থায়ীভাবে সরিয়ে দেয় — কাঠামো আর তথ্য দুটোই।
DROP TABLE table_name;DROP TABLE Employee;সাধারণ ভুল
যখন আসলে TRUNCATE (কাঠামো রেখে সারি মোছা) দরকার ছিল, তখন DROP TABLE চালানো।
একটি টেবিলের প্রতিটি সারি মুছে দেয় কিন্তু টেবিলটি নিজেই রাখে।
TRUNCATE TABLE table_name;TRUNCATE TABLE Employee;সাধারণ ভুল
TRUNCATE-এ একটি WHERE ক্লজ কাজ করবে বলে আশা করা — এটি সবসময় পুরো টেবিল খালি করে দেয়।
একটি বিদ্যমান টেবিলের কাঠামো পরিবর্তন করে।
ALTER TABLE table_name ADD | DROP COLUMN | ALTER COLUMN ...;-- একটি কলাম যোগ করা
ALTER TABLE Employee ADD email VARCHAR(100);
-- একটি কলাম সরানো
ALTER TABLE Employee DROP COLUMN email;
-- একটি ডেটা টাইপ বদলানো
ALTER TABLE Employee ALTER COLUMN salary DECIMAL(12,2);সাধারণ ভুল
একটি কলামের টাইপ সংকীর্ণ করা (যেমন VARCHAR(100) → VARCHAR(10)) আর নিঃশব্দে তথ্য কেটে ফেলা।
| কমান্ড | এটি কী করে |
|---|---|
| CREATE TABLE | টাইপযুক্ত কলাম দিয়ে একটি নতুন টেবিল তৈরি করে |
| DROP TABLE | একটি টেবিল স্থায়ীভাবে সরিয়ে দেয় — কাঠামো আর তথ্য |
| TRUNCATE TABLE | প্রতিটি সারি খালি করে, টেবিলের কাঠামো রাখে |
| ALTER TABLE | একটি বিদ্যমান টেবিলে কলাম যোগ, সরানো, বা পরিবর্তন করে |
DDL কাঠামো গড়ে তোলে। পরের পাঠে DML নিয়ে আলোচনা হবে — সেই কমান্ড যা আপনি আসলে সবচেয়ে বেশি টাইপ করবেন, সেই কাঠামোর ভেতরের তথ্য পড়া আর বদলানোর জন্য।