+88 01737 325759
info@poralekha24.com
হোম » লেকচারসমূহ » ষষ্ঠ অধ্যায় পাঠ-৫ঃ ডেটাবেজের বিভিন্ন SQL কমান্ড

ষষ্ঠ অধ্যায় পাঠ-৫ঃ ডেটাবেজের বিভিন্ন SQL কমান্ড



DDL এর ক্ষেত্রে SQL


🧩 Create স্টেটমেন্ট দ্বারা ডাটাবেজ তৈরি করার SQL Syntax

CREATE DATABASE database_name;

👉 উদাহরণঃ

CREATE DATABASE school_db;

🧩Create স্টেটমেন্ট দ্বারা টেবিল তৈরি করার SQL Syntax 

CREATE TABLE table_name (
    column1 datatype [constraint],
    column2 datatype [constraint],
    column3 datatype [constraint],
    ...
);

ধরা যাক, আমরা একটি students নামের টেবিল তৈরি করতে চাই যেখানে ছাত্রদের নাম, বয়স, ক্লাস ইত্যাদি থাকবে।

🧩 Create স্টেটমেন্ট দ্বারা ডাটাবেজ এ টেবিল তৈরির সাধারণ SQL কমান্ড

CREATE TABLE students (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    class VARCHAR(20),
    address TEXT
);

আমাদের তৈরিকৃত টেবিলে নতুন একটি ফিল্ড (column) যোগ করতে পারি SQL কমান্ড ব্যবহার করে।

🧩 নতুন ফিল্ড (column) যোগ করার SQL Syntax

ALTER TABLE table_name
ADD column_name datatype [constraint];

ধরা যাক আমাদের একটি টেবিল আছে students, এবং আমরা এতে email নামে একটি নতুন কলাম যোগ করতে চাই। তাহলে তাহলে SQL কমান্ড হবে- 


ALTER TABLE students
ADD email VARCHAR(100);

👉 এতে students টেবিলে একটি নতুন কলাম যুক্ত হবে যার নাম email এবং টাইপ VARCHAR(100)

🧠 যদি নির্দিষ্ট স্থানে (যেমন — কোনো কলামের পর) ফিল্ড যোগ করতে চাই, তাহলে কমান্ড SQL হবে - 

ALTER TABLE students
ADD phone VARCHAR(20) AFTER name;

এটি name কলামের পরেই নতুন phone কলামটি যুক্ত করবে।

🔄 একাধিক কলাম একসাথে যোগ করার SQL কমান্ড

ALTER TABLE students
ADD (
    guardian_name VARCHAR(100),
    guardian_phone VARCHAR(20)
);

আমরা চাইলে একটি ফিল্ড (column) টেবিল থেকে মুছে ফেলতে (delete/remove) পারি।

🧩 ফিল্ড (column) ডিলিট করার SQL Syntax

ALTER TABLE table_name
DROP COLUMN column_name;

ধরা যাক, আমাদের টেবিলের নাম students এবং আমরা email নামে কলামটি মুছে ফেলতে চাই, তাহলে SQL কমান্ড হবে - 

ALTER TABLE students
DROP COLUMN email;

🧠 যদি একাধিক কলাম একসাথে ডিলিট করতে চাই, তাহলে SQL কমান্ড হবে - 

ALTER TABLE students
DROP COLUMN phone,
DROP COLUMN address;

এখন আমরা দেখব কীভাবে একটি পুরো টেবিল (table) এর ডেটা ডাটাবেজ থেকে ডিলিট বা মুছে ফেলা যায়।

🧩 টেবিল থেকে সকল ডেটা করার ডিলিট করার SQL Syntax

TRUNCATE TABLE table_name;

ধরা যাক, আমাদের একটি টেবিল আছে students নামে — আমরা এটির ডেটা পুরোপুরি মুছে ফেলতে চাই। তাহলে SQL কমান্ড হবে - 

TRUNCATE TABLE students;

👉 এতে পুরো students টেবিল এর ভেতরের সব ডেটা স্থায়ীভাবে মুছে যাবে।

এখন আমরা শিখব কীভাবে একটি পুরো টেবিল (table) ডাটাবেজ থেকে ডিলিট বা মুছে ফেলা যায়।

🧩 টেবিল ডিলিট করার SQL 

DROP TABLE table_name;

ধরা যাক, আমাদের একটি টেবিল আছে students নামে — আমরা এটি পুরোপুরি মুছে ফেলতে চাই। তাহলে SQL কমান্ড হবে -

DROP TABLE students;

👉 এতে পুরো students টেবিল এবং এর ভেতরের সব ডেটা স্থায়ীভাবে মুছে যাবে।

⚙️ যদি টেবিলটি না থাকে, তবুও এরর না দিতে চাই:

DROP TABLE IF EXISTS students;

এতে টেবিলটি না থাকলেও কোনো ত্রুটি (error) দেখাবে না।

একটি পুরো ডাটাবেস (Database) মুছে ফেলতে পারি SQL কমান্ড দিয়ে।

🧩 ডাটাবেস ডিলিট করার SQL কমান্ড

DROP DATABASE database_name;

ধরা যাক, আমাদের একটি ডাটাবেজ আছে school_db নামে। আমরা এটি পুরোপুরি মুছে ফেলতে চাই। তাহলে SQL কমান্ড হবে - 

DROP DATABASE school_db;

👉 এতে পুরো school_db ডাটাবেজ এবং এর ভেতরের সব টেবিল ও ডেটা স্থায়ীভাবে মুছে যাবে

⚙️ যদি ডাটাবেজটি না থাকে, তবুও এরর (Error) না দিতে চাই:

DROP DATABASE IF EXISTS school_db;

এই কমান্ডে ডাটাবেসটি না থাকলেও কোনো ত্রুটি দেখাবে না।

DML এর ক্ষেত্রে SQL
DML (Data Manipulation Language) commands ডেটাবেসের টেবিলের ডেটা যোগ, পরিবর্তন ও মুছতে ব্যবহৃত হয়।

👉 INSERT – নতুন ডেটা যোগ করা

INSERT INTO students (name, age, class)
VALUES ('Rahim', 20, 'Honours');

👉 বহু রেকর্ড একত্রে যোগ করা

INSERT INTO students(name, class, roll) VALUES ("HIG", 11, 55), ("MNO", 12, 58), ("XYZ", 12, 70);

👉 UPDATE – ডেটা পরিবর্তন করা

UPDATE students
SET age = 23
WHERE name = 'Karim';

👉 DELETE – ডেটা মুছে ফেলা

DELETE FROM students
WHERE id = 5;

DQL এর ক্ষেত্রে SQL
DQL (Data Query Language) commands মূলত ডেটাবেস থেকে ডেটা অনুসন্ধান (query) ও প্রদর্শনের জন্য ব্যবহৃত হয়। DQL বলতে মূলত শুধু SELECT command-ই বোঝানো হয়, তবে SELECT এর সাথে অনেক clause ও keyword ব্যবহার করা হয়।

মনে করি, আমাদের ডেটাবেজে students একটি টেবিলে অসংখ্য ডেটা আছে কয়েকটি কলামের মাধ্যমে। উক্ত ডেটাবেজ টেবিল থেকে বিভিন্ন SQL কুয়েরির মাধ্যমে বিভিন্নভাবে ডেটা  select করে দেখানো যায়। 

👉 SELECT – ডেটা দেখার মূল command - 

SELECT * FROM students;

👉 students টেবিল থেকে যাদের ক্লাস 11 তাদের ডেটা দেখার command - 

SELECT * FROM `students` WHERE class=11;

👉 students টেবিল থেকে যাদের নাম HIG অথবা PQR তাদের ডেটা দেখার command - 

SELECT * FROM `students` WHERE name IN("HIG","PQR");
অথবা
SELECT * FROM `students` WHERE name = "HIG" OR name = "PQR";

👉 students টেবিল থেকে যাদের নাম PQR, তারা বাদে অন্যদের ডেটা দেখার command - 

SELECT * FROM `students` WHERE name NOT IN("PQR");

👉 students টেবিল থেকে যাদের gpa 4.5 এর বেশি বা সমান, তাদের ডেটা দেখার command - 

SELECT * FROM `students` WHERE gpa >= 4.5;

👉 students টেবিল থেকে যাদের gpa 4.5 এবং 5 এর ভিতরে, তাদের ডেটা দেখার command - 

SELECT * FROM `students` WHERE gpa BETWEEN 4.5 AND 5;

👉 students টেবিলে যাদের নাম P দ্বারা শুরু, তাদের ডেটা দেখার command - 

SELECT * FROM `students` WHERE name LIKE "P%";

👉 students টেবিলে যাদের নাম R দ্বারা শেষ, তাদের ডেটা দেখার command - 

SELECT * FROM `students` WHERE name LIKE "%R";

👉 students টেবিলে Name ফিল্ডের ডেটা সমূহকে ছোট থেকে বড় অক্ষরের ক্রমানুসারে সাজিয়ে সব ডেটা দেখার command - 

SELECT * FROM `students` ORDER BY name ASC;

👉 students টেবিলে Name ফিল্ডের ডেটা সমূহকে বড় থেকে ছোট অক্ষরের ক্রমানুসারে সাজিয়ে সব ডেটা দেখার command - 

SELECT * FROM `students` ORDER BY name DESC;

👉 students টেবিলের Name ফিল্ডের নামে পরিবর্তন করে Student Name ও তাদের Class, Roll এবং GPA ডেটা দেখার command - 

SELECT `std_name` AS "Student Name", `class`, `roll`, `gpa` FROM `students`;

👉 students টেবিলের Department কলামে সেসব ডিপার্টমেন্ট রয়েছে তার প্রত্যকটি একবার করে অর্থ্যাৎ পুনরাবৃত্তি না করে প্রদর্শন করার SQL command - 

SELECT DISTINCT department FROM students;

👉 students টেবিলের উপরের তিনটি সারি দেখানোর জন্য নির্দেশ হবে - 

SELECT TOP 2 * FROM students;           [MS Access]
SELECT * FROM students LIMIT 2;         [MySQL]

👉 students টেবিলের সর্বনিম্ন gpa দেখার SQL command -

SELECT MIN(gpa) AS "Minimum GPA" FROM students;

👉 students টেবিলের সর্বোচ্চ gpa দেখার SQL command -

SELECT MAX(gpa) AS "Maxium GPA" FROM students;

👉 students টেবিলের গড় gpa দেখার SQL command -

SELECT AVG(gpa) AS "Average GPA" FROM students;

👉 students টেবিলের মোট রেকর্ড দেখার SQL command -

SELECT COUNT(id) AS "Total Students" FROM students;

👉 students টেবিলের কোন ডিপার্টমেন্টের মোট রেকর্ড দেখার SQL command -

SELECT COUNT(id) AS "Total Students" FROM students WHERE department="sc";

👉 students টেবিল ও address টেবিলের মধ্যে relation এর ভিত্তিতে ডেটা প্রদর্শনের SQL command -

SELECT students.name, students.roll, address.village FROM students INNER JOIN address ON students.id = address.students_id;

মোঃ আবু সাঈদ

মোঃ আবু সাঈদ

প্রভাষক (আইসিটি)

একজন দক্ষ, উদ্ভাবনী এবং প্রযুক্তি-বান্ধব আইসিটি শিক্ষক, যিনি শিক্ষার্থীদের মধ্যে প্রযুক্তি জ্ঞানের বিকাশ এবং ব্যবহারিক দক্ষতা বৃদ্ধির জন্য নিবেদিত। কম্পিউটার বিজ্ঞান, প্রোগ্রামিং, ডিজিটাল লিটারেসি এবং আধুনিক সফটওয়্যার/হার্ডওয়্যার প্রযুক্তি বিষয়ে প্রশিক্ষণ প্রদানে অভিজ্ঞ। শিক্ষার্থীদের বয়স ও শ্রেণি অনুযায়ী উপযোগী পাঠ পরিকল্পনা তৈরি এবং বাস্তবভিত্তিক কার্যক্রমের মাধ্যমে ক্লাস পরিচালনায় দক্ষ। কম্পিউটার নেটওয়ার্কিং, গুগল ও মাইক্রোসফট অ্যাপ্লিকেশন, PHP, C/C++, JavaScript, পাইথন, এইচটিএমএল/সিএসএস সহ বিভিন্ন ডিজিটাল টুল ও প্ল্যাটফর্ম ব্যবহারে পারদর্শী।

আমাদের সম্পর্কে

Poralekha24.com: স্কুল ও কলেজ শিক্ষার্থীদের জন্য Lecture Sheet, MCQ/CQ, Presentation ও অনলাইন ও অফলাইন কোচিং সেবা।

কপিরাইট © ২০২৫ - ২০২৬ Poralekha24.com. সকল অধিকার সংরক্ষিত।