যেকোনো ডাটাবেস টেবিলে প্রাইমারি কি-র মান স্বয়ংক্রিয়ভাবে বাড়ানোর প্রয়োজন প্রায় সবসময়ই থাকে। SQLite-তে এই সুবিধার জন্য রয়েছে AUTOINCREMENT কীওয়ার্ড। এটি শুধুমাত্র INTEGER টাইপের প্রাইমারি কি-র সাথে ব্যবহার করা যায় এবং নিশ্চিত করে যে, প্রতিটি নতুন সারির জন্য একটি ইউনিক পূর্ণসংখ্যা তৈরি হবে। আজকের পর্বে আমরা AUTOINCREMENT-এর ধারণা, সিনট্যাক্স, বাস্তব ব্যবহার, এর পেছনের কাজের কৌশল এবং সাধারণ INTEGER PRIMARY KEY থেকে এর […]

SQLite Subqueries – SELECT, INSERT, UPDATE, DELETE-এ সাবকোয়েরি ব্যবহার (বাংলা টিউটোরিয়াল)
একটি কোয়েরির ভেতর আরেকটি কোয়েরি – এটাই হলো সাবকোয়েরি (Subquery) বা ইনার কোয়েরি বা নেস্টেড কোয়েরি। সাবকোয়েরি সাধারণত WHERE ক্লজের মধ্যে বসে এবং মূল কোয়েরির জন্য প্রয়োজনীয় ডেটা সরবরাহ করে। এর মাধ্যমে আমরা জটিল যুক্তি একটি সহজবোধ্য উপায়ে প্রকাশ করতে পারি। সাবকোয়েরি SELECT, INSERT, UPDATE, DELETE – সব ধরনের DML অপারেশনের সাথেই ব্যবহার করা যায়। আজ আমরা সাবকোয়েরির নিয়মকানুন, প্রতিটি স্টেটমেন্টে ব্যবহার ও বাস্তব […]

SQLite Transactions – BEGIN, COMMIT, ROLLBACK ও ACID প্রপার্টি (বাংলা)
ব্যাংকের টাকা ট্রান্সফারের কথা চিন্তা করুন: এক অ্যাকাউন্ট থেকে টাকা কাটা হলো, কিন্তু অন্য অ্যাকাউন্টে জমা হওয়ার আগেই সিস্টেম ক্র্যাশ করলো – টাকাটা তাহলে গেল কোথায়? এই ধরনের বিপর্যয় এড়াতেই ডাটাবেসে ট্রানজ্যাকশন (Transaction) ব্যবহৃত হয়। একটি ট্রানজ্যাকশন হলো কতগুলো SQL স্টেটমেন্টের একটি ইউনিট, যা একটি যৌক্তিক কাজ সম্পাদন করে। এই ইউনিটের সবগুলো স্টেটমেন্ট সফলভাবে সম্পন্ন হলে তবেই […]

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

SQLite TRUNCATE TABLE Command – DELETE ও DROP দিয়ে টেবিল খালি করা (বাংলা)
যেসব ডাটাবেস ম্যানেজমেন্ট সিস্টেমে (যেমন MySQL, PostgreSQL) TRUNCATE TABLE কমান্ড ব্যবহার করে টেবিলের সমস্ত ডেটা দ্রুত মুছে ফেলা যায়, SQLite-তে এমন কোনো কমান্ড সরাসরি নেই। তবে চিন্তার কিছু নেই – SQLite আমাদের শক্তিশালী DELETE ও DROP TABLE কমান্ড দিয়েছে, যা একই কাজ করতে পারে, কিছু অতিরিক্ত কৌশল সহ। আজকের পর্বে আমরা শিখব কীভাবে SQLite-তে টেবিল সম্পূর্ণ খালি করা যায়, কোন পদ্ধতি […]

SQLite ALTER TABLE Command – টেবিলের গঠন পরিবর্তন (বাংলা টিউটোরিয়াল)
ডাটাবেসের চাহিদা সময়ের সাথে পাল্টায়। অনেক সময় টেবিল তৈরি করার পর দেখা যায় তার নাম বদলানো দরকার, কিংবা একটি নতুন কলাম সংযুক্ত করতে হবে। SQLite-তে এই কাজটি করার জন্য ALTER TABLE কমান্ড ব্যবহৃত হয়। তবে গুরুত্বপূর্ণ বিষয় হলো, SQLite-র ALTER TABLE শুধুমাত্র দুটি কাজ সমর্থন করে: টেবিলের নাম পরিবর্তন (RENAME TO) এবং নতুন কলাম যোগ করা (ADD COLUMN)। কলাম মুছে […]

SQLite INDEXED BY Clause – নির্দিষ্ট ইনডেক্স ব্যবহার ও NOT INDEXED (বাংলা)
আমরা গত পর্বে জেনেছি যে ইনডেক্স ডেটা খোঁজার গতি বাড়ায়, এবং SQLite স্বয়ংক্রিয়ভাবে উপযুক্ত ইনডেক্স নির্বাচন করে। কিন্তু কখনো কখনো আমরা নিজেরা নির্দিষ্ট করে দিতে চাই যে কোনো কোয়েরিতে কোন ইনডেক্স ব্যবহার করা হবে, নাকি কোনো ইনডেক্সই ব্যবহার করা হবে না। SQLite-তে এটি করার জন্য INDEXED BY ও NOT INDEXED ক্লজ দুটি ব্যবহৃত হয়। আজ আমরা এই ক্লজ দুটির ব্যবহারিক […]

SQLite Indexes – CREATE, UNIQUE, COMPOSITE, DROP INDEX (বাংলা টিউটোরিয়াল)
বইয়ের শেষে থাকা ইনডেক্স যেমন কোনো টপিক দ্রুত খুঁজে পেতে সাহায্য করে, ডাটাবেসের ইনডেক্সও ঠিক তেমনই কাজ করে – এটি টেবিলের ডেটার মধ্যে দ্রুত সার্চ করার একটি বিশেষ ব্যবস্থা। ইনডেক্স সঠিকভাবে ব্যবহার করলে SELECT কোয়েরির গতি কয়েকগুণ বেড়ে যেতে পারে, বিশেষ করে বড় টেবিলে। তবে এর বিনিময়ে INSERT, UPDATE, DELETE-এ সামান্য ধীরগতি আসে। আজ আমরা SQLite-তে কীভাবে ইনডেক্স তৈরি করতে […]

SQLite Triggers – স্বয়ংক্রিয় ট্রিগার তৈরি, ব্যবহার ও মুছে ফেলা (বাংলা টিউটোরিয়াল)
একটি প্রফেশনাল ডাটাবেস অ্যাপ্লিকেশনে অনেক সময় আমরা চাই যে, কোনো নির্দিষ্ট ঘটনা (যেমন নতুন ডেটা ঢোকা, ডেটা বদলানো বা মুছে ফেলা) ঘটলে স্বয়ংক্রিয়ভাবে আরেকটি কাজ হয়ে যাক – যেমন একটি লগ টেবিলে রেকর্ড রাখা, বা কোনো ভ্যালিডেশন চেক করা। SQLite-তে এই অটোমেটিক কাজগুলো করার জন্য Trigger ব্যবহার করা হয়। ট্রিগার হলো এক ধরনের সঞ্চিত কার্যক্রম, যা নির্দিষ্ট […]

SQLite ALIAS Syntax – টেবিল ও কলামের অস্থায়ী নাম (বাংলা টিউটোরিয়াল)
কোয়েরি লেখার সময় টেবিল বা কলামের আসল নাম বড় ও অসুবিধাজনক হতে পারে। অথবা আমাদের এমন একটি নাম দরকার যা আউটপুটে বেশি অর্থবহ। SQLite-তে ALIAS (উপনাম) ব্যবহার করে আমরা টেবিল বা কলামের জন্য একটি অস্থায়ী নাম দিতে পারি। এই নাম শুধু সেই কোয়েরির জন্যই কার্যকর, ডাটাবেসের প্রকৃত নামের কোনো পরিবর্তন হয় না। ALIAS ব্যবহার করলে কোয়েরি সংক্ষিপ্ত, […]
