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-তে ডেটাবেস থেকে ডেটা সংগ্রহ এবং প্রয়োজনমতো ফিল্টার, সাজানো, এবং গণনা করার জন্য বহুল ব্যবহৃত হয়।