কখনো কখনো আমাদের একই ধরনের ডেটা একাধিক টেবিল বা একাধিক শর্ত থেকে আলাদা আলাদা SELECT করে আনতে হয়, এবং শেষে সেই সব ফলাফল একটি মাত্র ফলাফল সেট হিসেবে দেখতে চাই। SQLite-তে এই কাজটি করার জন্য UNION এবং UNION ALL অপারেটর ব্যবহার করা হয়। UNION দুটি বা ততোধিক SELECT স্টেটমেন্টের আউটপুটকে উল্লম্বভাবে (একটির নিচে আরেকটি) জুড়ে দেয়। আজকের পর্বে আমরা […]

SQLite JOINS – CROSS JOIN, INNER JOIN, LEFT OUTER JOIN (বাংলা টিউটোরিয়াল)
বাস্তব ডাটাবেসে ডেটা ছড়িয়ে থাকে একাধিক টেবিলে। এই টেবিলগুলোর মধ্যে সম্পর্ক স্থাপন করে একসাথে তথ্য বের করার জন্য JOIN ক্লজ ব্যবহৃত হয়। JOIN একাধিক টেবিলের সাধারণ কলামের মানের ভিত্তিতে সারিগুলোকে যুক্ত করে একটি সম্মিলিত ফলাফল তৈরি করে। SQLite প্রধানত তিন ধরনের JOIN সমর্থন করে: CROSS JOIN, INNER JOIN, এবং LEFT OUTER JOIN। আজকের পর্বে আমরা COMPANY ও DEPARTMENT টেবিলের মাধ্যমে […]

SQLite Constraints – NOT NULL, DEFAULT, UNIQUE, PRIMARY KEY, CHECK (বাংলা টিউটোরিয়াল)
ডাটাবেসে ডেটা ঢোকার সময় আমরা চাই যে কিছু নিয়ম মেনে চলুক – যেমন কোনো কলাম খালি রাখা যাবে না, বেতন শূন্য বা নেগেটিভ হতে পারবে না, কিংবা রোল নম্বর সবার আলাদা হবে। এই নিয়মগুলোকে কনস্ট্রেইন্ট (Constraints) বলে। কনস্ট্রেইন্ট টেবিলের কলাম বা পুরো টেবিলের উপর প্রয়োগ করা হয় এবং ডেটার সঠিকতা ও নির্ভরযোগ্যতা নিশ্চিত করে। SQLite-তে প্রধান পাঁচটি কনস্ট্রেইন্ট রয়েছে: NOT […]

SQLite PRAGMA কমান্ড – ডাটাবেস কনফিগারেশন ও সেটিংস (বাংলা টিউটোরিয়াল)
SQLite-তে PRAGMA একটি বিশেষ ধরনের SQL কমান্ড, যা সাধারণ ডেটা ম্যানিপুলেশন নয়, বরং ডাটাবেস ইঞ্জিনের অভ্যন্তরীণ পরিবেশগত চলক (environmental variables) ও স্টেট ফ্ল্যাগ নিয়ন্ত্রণ করে। PRAGMA ব্যবহার করে আমরা ডাটাবেসের কনফিগারেশন দেখতে ও পরিবর্তন করতে পারি, পারফরম্যান্স টিউন করতে পারি, ডিবাগিং তথ্য পেতে পারি, এবং টেবিল ও ইনডেক্স সংক্রান্ত মেটাডেটা বের করতে পারি। অনেক PRAGMA শুধুমাত্র বর্তমান […]

SQLite DISTINCT Keyword – ডুপ্লিকেট ডেটা বাদ দিয়ে ইউনিক ভ্যালু পাওয়া (বাংলা)
ডাটাবেসে প্রায়ই একই ধরনের ডেটা বারবার আসে – যেমন একই নামের একাধিক কর্মী, একই শহরের ঠিকানা, কিংবা একই বেতনের রেকর্ড। যখন আমরা শুধু জানতে চাই “কোন কোন নাম আছে” বা “কোন কোন শহর থেকে কর্মীরা এসেছে”, তখন পুনরাবৃত্তি না দেখিয়ে শুধু একটি করে মান দেখানোই যথেষ্ট। SQLite-তে এই কাজটি করে DISTINCT কীওয়ার্ড। এটি SELECT স্টেটমেন্টের পরপরই বসে এবং ফলাফল […]

SQLite HAVING ক্লজ – গ্রুপের উপর শর্ত দিয়ে ডেটা ফিল্টার (বাংলা টিউটোরিয়াল)
আগের পর্বে আমরা শিখেছি GROUP BY দিয়ে কীভাবে ডেটাকে দলবদ্ধ করে প্রতিটি দলের জন্য যোগফল, গড়, গণনা ইত্যাদি বের করতে হয়। কিন্তু সেই গ্রুপগুলোর মধ্যেও আমাদের প্রায়ই ফিল্টার করার দরকার হয় – যেমন, শুধু তাদের দেখাতে চাই যাদের গ্রুপে কমপক্ষে ২টি রেকর্ড আছে, বা যাদের মোট বেতন ৫০,০০০-এর বেশি। এই কাজটির জন্য WHERE ব্যবহার করা যায় না, […]

SQLite GROUP BY ক্লজ – ডেটা গ্রুপ করে বিশ্লেষণ করার সম্পূর্ণ গাইড (বাংলা)
ডাটাবেসের ডেটা বিশ্লেষণের অন্যতম শক্তিশালী উপায় হলো গ্রুপিং – অর্থাৎ, কোনো একটি কলামের ভিত্তিতে সারিগুলোকে দলবদ্ধ করে প্রতিটি দলের জন্য হিসাব-নিকাশ করা। যেমন, প্রতিটি শহরে কর্মীদের মোট বেতন, অথবা একই নামের কতজন আছে। SQLite-তে এই গ্রুপিং কাজটি করে GROUP BY ক্লজ, যা প্রায় সবসময় অ্যাগ্রিগেট ফাংশন (যেমন SUM, COUNT, AVG, MAX, MIN) এর সাথে ব্যবহৃত হয়। আজকের পর্বে আমরা GROUP BY-এর সিনট্যাক্স, কাজের নিয়ম, বাস্তব উদাহরণ […]

SQLite ORDER BY ক্লজ – ডেটা সাজানোর সম্পূর্ণ গাইড (বাংলা)
ডাটাবেস থেকে আনা তথ্য একটি সুসংহত ক্রমে দেখতে চাওয়া খুবই স্বাভাবিক – যেমন বেতন অনুযায়ী কর্মীদের তালিকা বড় থেকে ছোট, অথবা নামের বর্ণানুক্রমে সাজানো। SQLite-তে ডেটা সাজানোর কাজটি করে ORDER BY ক্লজ। এটি SELECT স্টেটমেন্টের শেষে বসে এবং এক বা একাধিক কলামের ভিত্তিতে আরোহী (ASC) বা অবরোহী (DESC) ক্রমে ফলাফল সাজায়। আজকের পর্বে আমরা ORDER BY-এর সিনট্যাক্স, বিবিধ উদাহরণ, […]

SQLite LIMIT Clause – ডেটা সীমিত করে আনার সম্পূর্ণ গাইড (বাংলা)
ডাটাবেস থেকে ডেটা আনার সময় অনেক সময় পুরো টেবিল না এনে নির্দিষ্ট সংখ্যক সারি দরকার হয় – যেমন ওয়েবসাইটের পেজিনেশন, “সর্বশেষ ১০টি রেকর্ড”, বা পরীক্ষামূলকভাবে কয়েকটি ডেটা দেখা। SQLite-তে এই চাহিদা পূরণ করে LIMIT ক্লজ। এটি শুধুমাত্র SELECT স্টেটমেন্টের সাথে ব্যবহৃত হয় এবং ফিরে আসা সারির সংখ্যা সীমিত করে দেয়। এর সাথে OFFSET যুক্ত করে আমরা শুরু করার অবস্থানও […]

SQLite GLOB Operator – কেস-সেনসিটিভ প্যাটার্ন মিলিয়ে ডেটা খোঁজা (বাংলা)
আগের পর্বে আমরা শিখেছি LIKE অপারেটর দিয়ে প্যাটার্ন মেলানো, যা কেস-ইনসেনসিটিভ এবং % ও _ ওয়াইল্ডকার্ড ব্যবহার করে। কিন্তু অনেক সময় আমাদের প্রয়োজন হয় কেস-সেনসিটিভ বা হুবহু অক্ষরের বড়-ছোট খেয়াল রেখে অনুসন্ধান। SQLite-তে এই কাজটি করার জন্য রয়েছে GLOB অপারেটর। GLOB ইউনিক্স-স্টাইল ওয়াইল্ডকার্ড ব্যবহার করে: এই পর্বে আমরা GLOB-এর ব্যবহার, LIKE-এর সাথে পার্থক্য, এবং COMPANY টেবিলে এর বাস্তব প্রয়োগ বিস্তারিতভাবে শিখব। পূর্বপ্রস্তুতি bash sqlite3 company.db […]
