CRUD মানে হলো Create, Read, Update, Delete, যা ডেটাবেজের সবচেয়ে মৌলিক কার্যক্রম। MariaDB-তে CRUD অপারেশন টেবিলের ডেটা পরিচালনা করতে ব্যবহৃত হয়। নিচে CRUD অপারেশনগুলোর বিস্তারিত বর্ণনা উদাহরণসহ দেওয়া হলো:
Create: ডেটা যোগ করা
MariaDB-তে INSERT কমান্ড ব্যবহার করে টেবিলে নতুন ডেটা যোগ করা হয়।
সাধারণ গঠন
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
উদাহরণ
students টেবিল:
| id | name | age |
|---|
নতুন শিক্ষার্থীর তথ্য যোগ করা:
INSERT INTO students (name, age) VALUES ('Rahim', 20);
পরিবর্তিত টেবিল:
| id | name | age |
|---|---|---|
| 1 | Rahim | 20 |
Read: ডেটা রিট্রিভ করা
MariaDB-তে SELECT কমান্ড ব্যবহার করে ডেটা রিট্রিভ করা হয়।
সাধারণ গঠন
SELECT column1, column2, ... FROM table_name WHERE condition;
উদাহরণ
সব শিক্ষার্থীর তথ্য রিট্রিভ করা:
SELECT * FROM students;
ফলাফল:
| id | name | age |
|---|---|---|
| 1 | Rahim | 20 |
নির্দিষ্ট শিক্ষার্থীর বয়স রিট্রিভ করা:
SELECT age FROM students WHERE name = 'Rahim';
ফলাফল:
| age |
|---|
| 20 |
Update: ডেটা পরিবর্তন করা
MariaDB-তে UPDATE কমান্ড ব্যবহার করে বিদ্যমান ডেটা আপডেট করা হয়।
সাধারণ গঠন
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
উদাহরণ
Rahim-এর বয়স আপডেট করে 21 করা:
UPDATE students SET age = 21 WHERE name = 'Rahim';
পরিবর্তিত টেবিল:
| id | name | age |
|---|---|---|
| 1 | Rahim | 21 |
Delete: ডেটা মুছে ফেলা
MariaDB-তে DELETE কমান্ড ব্যবহার করে টেবিল থেকে নির্দিষ্ট ডেটা মুছে ফেলা হয়।
সাধারণ গঠন
DELETE FROM table_name WHERE condition;
উদাহরণ
Rahim-এর তথ্য মুছে ফেলা:
DELETE FROM students WHERE name = 'Rahim';
পরিবর্তিত টেবিল:
| id | name | age |
|---|
পূর্ণাঙ্গ উদাহরণ: CRUD অপারেশন
ধাপ ১: টেবিল তৈরি করা
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age INT
);
ধাপ ২: ডেটা যোগ করা (Create)
INSERT INTO students (name, age) VALUES ('Rahim', 20), ('Karim', 22);
ধাপ ৩: ডেটা রিট্রিভ করা (Read)
SELECT * FROM students;
ফলাফল:
| id | name | age |
|---|---|---|
| 1 | Rahim | 20 |
| 2 | Karim | 22 |
ধাপ ৪: ডেটা আপডেট করা (Update)
UPDATE students SET age = 23 WHERE name = 'Karim';
পরিবর্তিত টেবিল:
| id | name | age |
|---|---|---|
| 1 | Rahim | 20 |
| 2 | Karim | 23 |
ধাপ ৫: ডেটা মুছে ফেলা (Delete)
DELETE FROM students WHERE name = 'Rahim';
পরিবর্তিত টেবিল:
| id | name | age |
|---|---|---|
| 2 | Karim | 23 |
MariaDB-তে CRUD অপারেশন ডেটাবেস পরিচালনার মূল অংশ। এগুলোর মাধ্যমে ডেটা যোগ করা, পড়া, আপডেট করা এবং মুছে ফেলার কার্যক্রম সম্পাদন করা যায়। এভাবে ডেটাবেস ব্যবস্থাপনা সহজ ও কার্যকর হয়।
MariaDB-তে টেবিলে ডেটা যোগ করার জন্য INSERT INTO কমান্ড ব্যবহার করা হয়। এটি একটি মৌলিক কাজ, যা ডেটাবেসে তথ্য সংরক্ষণ করতে ব্যবহৃত হয়। নিচে ধাপে ধাপে MariaDB-তে ডেটা ইনসার্ট করার পদ্ধতি ব্যাখ্যা করা হয়েছে।
INSERT INTO কমান্ডের গঠন
সাধারণ গঠন:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
উদাহরণ:
ধরা যাক, students নামে একটি টেবিল রয়েছে যার গঠন নিচের মতো:
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
age INT NOT NULL,
grade VARCHAR(10)
);
এই টেবিলে ডেটা ইনসার্ট করার জন্য:
INSERT INTO students (name, age, grade)
VALUES ('John Doe', 15, '10th');
একাধিক ডেটা ইনসার্ট করা
MariaDB-তে একাধিক সারি একসঙ্গে ইনসার্ট করা যায়।
উদাহরণ:
INSERT INTO students (name, age, grade)
VALUES
('Jane Smith', 14, '9th'),
('Mark Taylor', 16, '11th'),
('Emily Davis', 15, '10th');
সমস্ত কলামের জন্য ডেটা ইনসার্ট করা
যদি টেবিলের সমস্ত কলামে ডেটা ইনসার্ট করতে হয়, তবে কলামের নাম উল্লেখ না করেও ইনসার্ট করা যায়।
উদাহরণ:
INSERT INTO students
VALUES (NULL, 'Alice Brown', 17, '12th');
নোট:
NULLব্যবহার করলেidকলামটি স্বয়ংক্রিয়ভাবে ইনক্রিমেন্ট হবে (AUTO_INCREMENT)।
ডেটা ইনসার্ট করার সময় ত্রুটি এড়ানোর জন্য টিপস
- কলামের ক্রম এবং মানের ক্রম নিশ্চিত করুন: কলামের ক্রম অনুযায়ী মান প্রদান করতে হবে, নইলে ত্রুটি দেখা দিতে পারে।
- ডেটা টাইপ সঠিক রাখুন: প্রতিটি কলামের জন্য সঠিক ডেটা টাইপ অনুসারে মান প্রদান করুন। যেমন,
ageকলামে সংখ্যাসূচক মান (Integer) দিতে হবে। - NULL এবং NOT NULL:
- যদি কোনো কলাম
NOT NULLহয়, তবে সেখানে অবশ্যই মান দিতে হবে। NULLদিলে কলাম ফাঁকা রাখা যাবে, তবে তা শুধুমাত্রNULLঅনুমোদিত হলে।
- যদি কোনো কলাম
ডেটা ইনসার্ট করার পর যাচাই করা
টেবিলে ডেটা ইনসার্ট হয়েছে কিনা তা যাচাই করতে SELECT কমান্ড ব্যবহার করা হয়।
উদাহরণ:
SELECT * FROM students;
উপরের কমান্ডটি টেবিলের সমস্ত ডেটা প্রদর্শন করবে।
ডেটা ইনসার্ট করার ব্যবহারিক উদাহরণ
একটি সহজ উদাহরণ
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
position VARCHAR(50),
salary DECIMAL(10, 2)
);
INSERT INTO employees (name, position, salary)
VALUES
('Alice Johnson', 'Manager', 75000.00),
('Bob Williams', 'Developer', 55000.00),
('Clara Smith', 'Designer', 50000.00);
ডেটা যাচাই
SELECT * FROM employees;
সারাংশ
MariaDB-তে INSERT INTO কমান্ড ব্যবহার করে টেবিলে একক বা একাধিক সারি ইনসার্ট করা যায়। কলামের ক্রম, ডেটা টাইপ এবং NULL কন্ডিশন মেনে চললে ডেটা ইনসার্ট প্রক্রিয়া সহজ এবং ত্রুটিমুক্ত হয়। MariaDB ডেটা সংরক্ষণ ও ব্যবস্থাপনায় অত্যন্ত কার্যকর একটি টুল।
MariaDB-তে ডেটা রিড বা ডেটা পুনরুদ্ধার করার জন্য SELECT কুয়েরি ব্যবহার করা হয়। এটি একটি শক্তিশালী কমান্ড, যা আপনাকে টেবিল থেকে প্রয়োজনীয় ডেটা সংগ্রহ করতে সাহায্য করে।
SELECT কুয়েরির সাধারণ গঠন
MariaDB-তে SELECT কুয়েরির মৌলিক সিনট্যাক্স:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
উপাদানগুলোর ব্যাখ্যা:
- SELECT: ডেটা রিড করার জন্য ব্যবহৃত মূল কমান্ড।
- column1, column2: টেবিলের নির্দিষ্ট কলামগুলোর নাম (সব কলাম দেখতে চাইলে
*ব্যবহার করুন)। - FROM: ডেটার উৎস (টেবিলের নাম) নির্ধারণ করে।
- WHERE: একটি শর্ত নির্ধারণ করে, যা অনুযায়ী ডেটা ফিল্টার হবে (ঐচ্ছিক)।
পুরো টেবিল থেকে ডেটা রিড করা
টেবিলের সব ডেটা দেখতে * ব্যবহার করা হয়।
SELECT * FROM students;
আউটপুট:
| id | name | age | grade |
|---|---|---|---|
| 1 | John Doe | 20 | A |
| 2 | Jane Smith | 22 | B |
নির্দিষ্ট কলাম থেকে ডেটা রিড করা
যদি শুধু নির্দিষ্ট কলাম দেখতে চান:
SELECT name, grade FROM students;
আউটপুট:
| name | grade |
|---|---|
| John Doe | A |
| Jane Smith | B |
ডেটা ফিল্টার করা (WHERE ক্লজ)
নির্দিষ্ট শর্তে ডেটা রিড করা:
SELECT * FROM students WHERE age > 20;
আউটপুট:
| id | name | age | grade |
|---|---|---|---|
| 2 | Jane Smith | 22 | B |
একাধিক শর্ত প্রয়োগ করা:
SELECT * FROM students WHERE age > 20 AND grade = 'B';
ডেটা সাজানো (ORDER BY)
ASC (Ascending) ক্রমে সাজানো:
SELECT * FROM students ORDER BY age ASC;
DESC (Descending) ক্রমে সাজানো:
SELECT * FROM students ORDER BY age DESC;
সীমিত সংখ্যক রেকর্ড রিড করা (LIMIT)
প্রথম ৫টি রেকর্ড রিড করা:
SELECT * FROM students LIMIT 5;
নির্দিষ্ট অবস্থান থেকে রেকর্ড রিড করা (OFFSET):
SELECT * FROM students LIMIT 5 OFFSET 10;
ডুপ্লিকেট এন্ট্রি বাদ দেওয়া (DISTINCT)
যদি একটি কলামে ডুপ্লিকেট এন্ট্রি থাকে এবং আপনি ইউনিক ভ্যালু দেখতে চান:
SELECT DISTINCT grade FROM students;
আউটপুট:
| grade |
|---|
| A |
| B |
সংযুক্তি (Concatenation) এবং কাস্টম কলাম তৈরি করা
ডেটার কাস্টম ফরম্যাট তৈরি করতে:
SELECT CONCAT(name, ' is in grade ', grade) AS student_info FROM students;
আউটপুট:
| student_info |
|---|
| John Doe is in grade A |
| Jane Smith is in grade B |
যোগফল, গড় ইত্যাদি গণনা করা (Aggregate Functions)
ডেটার গড় (AVG):
SELECT AVG(age) AS average_age FROM students;
ডেটার সর্বোচ্চ (MAX):
SELECT MAX(age) AS oldest_student FROM students;
ডেটার মোট সংখ্যা (COUNT):
SELECT COUNT(*) AS total_students FROM students;
গ্রুপভিত্তিক ডেটা বিশ্লেষণ (GROUP BY)
গ্রুপভিত্তিক ডেটা বিশ্লেষণ করতে:
SELECT grade, COUNT(*) AS student_count
FROM students
GROUP BY grade;
আউটপুট:
| grade | student_count |
|---|---|
| A | 1 |
| B | 1 |
টেবিল যোগ করে ডেটা রিড করা (JOIN)
দুটি টেবিল থেকে ডেটা রিড:
ধরা যাক, দুটি টেবিল আছে: students এবং courses। এখানে students টেবিলের সাথে তাদের course_id-এর মাধ্যমে courses টেবিল যোগ করা হবে:
SELECT students.name, courses.course_name
FROM students
JOIN courses ON students.course_id = courses.id;
ডেটা রিডের উদাহরণ সমাপ্তি
SELECT কুয়েরি ডেটা বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ। এটি MariaDB-তে ডেটাবেস থেকে ডেটা সংগ্রহ এবং প্রয়োজনমতো ফিল্টার, সাজানো, এবং গণনা করার জন্য বহুল ব্যবহৃত হয়।
MariaDB-তে ডেটা আপডেট করার জন্য UPDATE কমান্ড ব্যবহার করা হয়। এটি একটি নির্দিষ্ট টেবিলের মধ্যে থাকা এক বা একাধিক রেকর্ডের তথ্য পরিবর্তনের জন্য ব্যবহৃত হয়।
UPDATE কমান্ডের বেসিক সিনট্যাক্স
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
বর্ণনা:
table_name: যে টেবিলের ডেটা আপডেট করতে চান।SET: আপডেট করতে চাওয়া কলাম এবং তাদের নতুন মান।WHERE: নির্দিষ্ট শর্ত যেখানে রেকর্ড আপডেট হবে। এটি না দিলে পুরো টেবিলের সব রেকর্ড আপডেট হয়ে যাবে।
একটি সাধারণ উদাহরণ
ধরা যাক, আপনার একটি টেবিল আছে যার নাম employees এবং এর মধ্যে নিম্নলিখিত ডেটা রয়েছে:
| id | name | salary |
|---|---|---|
| 1 | Alice | 50000 |
| 2 | Bob | 60000 |
| 3 | Charlie | 70000 |
উদাহরণ ১: একটি নির্দিষ্ট রেকর্ড আপডেট করা
Bob এর বেতন ৬০০০০ থেকে ৬৫০০০ করতে:
UPDATE employees
SET salary = 65000
WHERE name = 'Bob';
আপডেট হওয়ার পর টেবিল হবে:
| id | name | salary |
|---|---|---|
| 1 | Alice | 50000 |
| 2 | Bob | 65000 |
| 3 | Charlie | 70000 |
উদাহরণ ২: একাধিক কলাম আপডেট করা
Alice এর নাম পরিবর্তন করে Alicia এবং বেতন ৫৫০০০ করতে:
UPDATE employees
SET name = 'Alicia', salary = 55000
WHERE id = 1;
উদাহরণ ৩: শর্ত ছাড়া সব রেকর্ড আপডেট করা
সব কর্মচারীর বেতন ১০% বৃদ্ধি করতে:
UPDATE employees
SET salary = salary * 1.10;
UPDATE কমান্ড ব্যবহারে সতর্কতা
WHERE ছাড়া আপডেট এড়িয়ে চলুন:
যদিWHEREশর্ত বাদ দেন, তাহলে পুরো টেবিলের সব রেকর্ড আপডেট হয়ে যাবে, যা প্রায়ই অপ্রত্যাশিত ফলাফল দিতে পারে।উদাহরণ:
UPDATE employees SET salary = 50000;এটি টেবিলের সব রেকর্ডের বেতনকে ৫০,০০০ করে দেবে।
- ব্যাকআপ রাখা: বড় বা গুরুত্বপূর্ণ ডেটাবেসে
UPDATEচালানোর আগে ব্যাকআপ রাখা ভালো। ভুল SQL কমান্ড ডেটা ক্ষতিগ্রস্ত করতে পারে। WHERE শর্ত পরীক্ষা করা:
UPDATEচালানোর আগে একটিSELECTচালিয়ে নিশ্চিত হয়ে নিন যে শর্ত সঠিক রেকর্ডগুলিকে লক্ষ্য করছে:SELECT * FROM employees WHERE name = 'Bob';
UPDATE এর সাথে JOIN ব্যবহার করা
কখনো কখনো একাধিক টেবিল থেকে ডেটা নিয়ে একটি টেবিল আপডেট করতে হয়। এই ক্ষেত্রে JOIN ব্যবহার করা যায়।
উদাহরণ:
ধরা যাক, দুটি টেবিল আছে:
employeesটেবিলdepartmentsটেবিল
employees টেবিল আপডেট করতে চান যেখানে departments টেবিলের কিছু শর্ত প্রযোজ্য।
UPDATE employees
JOIN departments ON employees.department_id = departments.id
SET employees.salary = employees.salary + 5000
WHERE departments.name = 'IT';
উপসংহার
MariaDB-তে UPDATE কমান্ড ব্যবহার করে টেবিলের ডেটা দ্রুত এবং সঠিকভাবে আপডেট করা যায়। শর্ত (WHERE) এবং সতর্কতার সাথে কমান্ড প্রয়োগ করলে ভুল আপডেট এড়ানো সম্ভব। UPDATE-এর আগে SELECT ব্যবহার করে নিশ্চিত হওয়া সবসময় ভালো অভ্যাস।
MariaDB-তে DELETE কমান্ড ব্যবহার করে টেবিল থেকে ডেটা মুছে ফেলা যায়। এটি ডেটাবেস ম্যানেজমেন্টের একটি গুরুত্বপূর্ণ ফাংশন, যা সঠিক শর্ত অনুসারে ডেটা মুছে ফেলার অনুমতি দেয়। তবে DELETE ব্যবহারের সময় সতর্ক থাকা গুরুত্বপূর্ণ, কারণ এটি ডেটা স্থায়ীভাবে সরিয়ে দেয়।
DELETE কমান্ডের সিনট্যাক্স
DELETE FROM table_name
WHERE condition;
table_name: যে টেবিল থেকে ডেটা ডিলিট করতে হবে।condition: নির্দিষ্ট শর্ত যা পূরণ করা ডেটা মুছে ফেলা হবে। যদি শর্ত না দেওয়া হয়, তবে সমস্ত ডেটা ডিলিট হবে।
ডেটা ডিলিট করার উদাহরণ
১. নির্দিষ্ট ডেটা ডিলিট করা
একটি নির্দিষ্ট শর্ত পূরণকারী ডেটা ডিলিট করতে:
DELETE FROM employees
WHERE id = 101;
উপরে employees টেবিল থেকে id = 101 থাকা রেকর্ড মুছে ফেলা হবে।
২. একাধিক রেকর্ড ডিলিট করা
একাধিক শর্ত পূরণকারী ডেটা ডিলিট করতে:
DELETE FROM employees
WHERE department = 'HR' AND salary < 50000;
এটি HR ডিপার্টমেন্টের এবং salary < 50000 থাকা সমস্ত রেকর্ড মুছে ফেলবে।
৩. সমস্ত ডেটা ডিলিট করা
টেবিল থেকে সমস্ত ডেটা মুছে ফেলার জন্য:
DELETE FROM employees;
সতর্কতা: এটি টেবিলের সমস্ত ডেটা মুছে ফেলবে কিন্তু টেবিলের স্ট্রাকচার অক্ষত রাখবে।
৪. ডেটা ডিলিট করার আগে নিশ্চিত হওয়া
ডেটা ডিলিট করার আগে নিশ্চিত হতে ডেটা চেক করুন:
SELECT * FROM employees
WHERE department = 'HR';
এরপর ডেটা চেক করার পরে ডিলিট কমান্ড চালান:
DELETE FROM employees
WHERE department = 'HR';
DELETE বনাম TRUNCATE
DELETE
- নির্দিষ্ট শর্ত অনুযায়ী ডেটা মুছে ফেলা হয়।
- টেবিলের স্ট্রাকচার এবং ইনডেক্স অক্ষত থাকে।
- ট্রানজ্যাকশন সমর্থন করে এবং রোলব্যাক করা সম্ভব।
TRUNCATE
- পুরো টেবিল খালি করে।
- দ্রুততর, কারণ এটি ডেটা একে একে মুছে ফেলে না।
- রোলব্যাক সমর্থন করে না এবং ডিলিট হওয়া ডেটা পুনরুদ্ধার সম্ভব নয়।
TRUNCATE TABLE employees;
ডেটা ডিলিট করার পর টেবিল চেক করা
ডেটা ডিলিট হওয়ার পর টেবিলের অবস্থা চেক করতে:
SELECT * FROM employees;
ডেটা ডিলিট করার জন্য নিরাপত্তা পরামর্শ
WHEREক্লজ ছাড়াDELETEকমান্ড ব্যবহার করবেন না, যদি না সমস্ত ডেটা মুছে ফেলা প্রয়োজন হয়।- ডেটা ডিলিট করার আগে
SELECTকমান্ড দিয়ে নিশ্চিত হয়ে নিন। - প্রোডাকশন ডাটাবেসে বড় ডেটা ডিলিট করার আগে ব্যাকআপ নিন।
MariaDB-তে DELETE কমান্ড ডেটা ম্যানেজমেন্টের একটি গুরুত্বপূর্ণ টুল। এটি সঠিকভাবে ব্যবহারের মাধ্যমে ডেটাবেস পরিষ্কার এবং সুসংগঠিত রাখা যায়। তবে ডিলিট কমান্ড ব্যবহার করার সময় সবসময় সতর্কতা অবলম্বন করা উচিত।
Read more