SQLite PRAGMA কমান্ড – ডাটাবেস কনফিগারেশন ও সেটিংস (বাংলা টিউটোরিয়াল)

Blog / SQLite PRAGMA কমান্ড – ডাটাবেস কনফিগারেশন ও সেটিংস (বাংলা টিউটোরিয়াল)

SQLite PRAGMA কমান্ড – ডাটাবেস কনফিগারেশন ও সেটিংস (বাংলা টিউটোরিয়াল) Detail Page

SQLite PRAGMA কমান্ড – ডাটাবেস কনফিগারেশন ও সেটিংস (বাংলা টিউটোরিয়াল)

SQLite PRAGMA কমান্ড দিয়ে ডাটাবেস এনভায়রনমেন্ট সেটিংস নিয়ন্ত্রণের বাংলা টিউটোরিয়াল

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

পূর্বপ্রস্তুতি:

  • SQLite ইন্সটল থাকতে হবে (তৃতীয় পর্ব দেখুন)।
  • আমরা company.db ডাটাবেস ও তার COMPANY টেবিল ব্যবহার করব। যদি না থাকে, আগের পর্বের ডেটা তৈরি করে নিন।
  • কোনো অতিরিক্ত প্যাকেজের প্রয়োজন নেই – PRAGMA SQLite-তে বিল্ট-ইন।

১. PRAGMA-এর সাধারণ সিনট্যাক্স

PRAGMA দিয়ে কোনো মান পড়তে বা সেট করতে পারেন।

মান পড়া (Query):

sql

PRAGMA pragma_name;

নতুন মান সেট করা (Set):

sql

PRAGMA pragma_name = value;

অথবা কিছু PRAGMA-তে value নামেও সেট করা যায়, যেমন PRAGMA cache_size = 4000;

অনেক PRAGMA একটি ডাটাবেসের নাম (অ্যালিয়াস) সহ ব্যবহার করা যায়:

sql

PRAGMA database_name.pragma_name;
PRAGMA database_name.pragma_name = value;

গুরুত্বপূর্ণ: PRAGMA-এর মান রিটার্ন ভ্যারি করে – কিছু টেবিল আকারে, কিছু একক মান, কিছু সেটিং-এর উপর নির্ভর করে।


২. গুরুত্বপূর্ণ PRAGMA সমূহের তালিকা ও উদাহরণ

নিচে প্রয়োজনীয় PRAGMA-গুলোকে ভাগ করে ব্যাখ্যা করা হলো। (সব উদাহরণ SQLite প্রম্পটে চালানো যাবে।)

২.১ ডাটাবেস ফাইল সংক্রান্ত

auto_vacuum – অটো-ভ্যাকুয়াম মোড দেখা/সেট করা (ডিফল্ট: NONE/0)।

sql

PRAGMA auto_vacuum;                -- বর্তমান মোড দেখুন (0/1/2)
PRAGMA auto_vacuum = FULL;         -- পুরোপুরি অটো-ভ্যাকুয়াম চালু (1 বা FULL)
PRAGMA auto_vacuum = INCREMENTAL;  -- ইনক্রিমেন্টাল মোড (2)

মোড: 0 = NONE (ডিফল্ট, ফাইল কখনো ছোট হয় না, ভ্যাকুয়াম দিতে হয়), 1 = FULL (স্বয়ংক্রিয়), 2 = INCREMENTAL (ম্যানুয়ালি incremental_vacuum দিয়ে ফাঁকা জায়গা রিক্লেইম)।

page_size – ডাটাবেস পেজের আকার (ডিফল্ট 4096 বাইট)।

sql

PRAGMA page_size;
PRAGMA page_size = 8192;   -- পরিবর্তন করতে চাইলে পরে VACUUM করতে হবে

সতর্কতা: পেজ সাইজ পরিবর্তনের পরপরই VACUUM না চালালে ডাটাবেস দুর্নীতিগ্রস্ত হতে পারে।

page_count – বর্তমান পেজের সংখ্যা (শুধু পঠনযোগ্য)।

sql

PRAGMA page_count;   -- মোট পেজ

ডাটাবেস ফাইলের আকার ≈ page_size * page_count

max_page_count – সর্বোচ্চ পেজ সীমা। ডিফল্ট 1073741823 (১ গিগা-পেজ)।

sql

PRAGMA max_page_count = 100000;   -- সীমা বেঁধে দেওয়া

freelist_count – কতটি পেজ খালি অবস্থায় আছে (শুধু পড়া)।

sql

PRAGMA freelist_count;

encoding – ডাটাবেসের টেক্সট এনকোডিং (UTF-8, UTF-16le, UTF-16be)।

sql

PRAGMA encoding;               -- বর্তমান এনকোডিং দেখুন
PRAGMA encoding = 'UTF-8';     -- নতুন ডাটাবেস তৈরি হলে এই এনকোডিং প্রযোজ্য হবে (পরিবর্তন করতে হলে নতুন ডাটাবেস)

২.২ পারফরম্যান্স ও ক্যাশ সংক্রান্ত

cache_size – ইন-মেমরি পেজ ক্যাশের সর্বোচ্চ সাইজ (পেজ সংখ্যায়)। ডিফল্ট 2000।

sql

PRAGMA cache_size;          -- বর্তমান দেখুন (ডিফল্ট 2000)
PRAGMA cache_size = 4000;   -- 4000 পেজের ক্যাশ (প্রায় 16 MB যদি page_size 4096 হয়)

synchronous – ডিস্ক সিঙ্ক্রোনাইজেশন মোড। মোড: OFF(0), NORMAL(1), FULL(2)।

sql

PRAGMA synchronous;
PRAGMA synchronous = NORMAL;   -- ডিফল্ট FULL থেকে কমিয়ে NORMAL করলে লেখার গতি বাড়ে, কিন্তু দুর্ঘটনায় ডাটা নষ্টের সামান্য ঝুঁকি থাকে।

journal_mode – জার্নাল ফাইল ব্যবস্থাপনা। ডিফল্ট DELETE।

sql

PRAGMA journal_mode;               -- দেখুন
PRAGMA journal_mode = WAL;         -- Write-Ahead Logging (অনেক দ্রুত)
PRAGMA journal_mode = MEMORY;      -- জার্নাল মেমরিতে (পারফরম্যান্স বাড়ে, কিন্তু ক্র্যাশে রোলব্যাক সম্ভব নয়)

সম্ভাব্য মান: DELETE (ডিফল্ট), TRUNCATE, PERSIST, MEMORY, WAL, OFF।

temp_store – অস্থায়ী টেবিল ও ফাইলের সংরক্ষণ মোড।

sql

PRAGMA temp_store;
PRAGMA temp_store = MEMORY;   -- টেম্প ডেটা মেমরিতে (FILE বা DEFAULT)

temp_store_directory – টেম্প ফাইল কোথায় রাখবে। (শুধু পঠন/লিখন)

sql

PRAGMA temp_store_directory = '/tmp/sqlite';

২.৩ মেটাডেটা ও ইন্ট্রোস্পেকশন

database_list – সংযুক্ত সব ডাটাবেসের তালিকা।

sql

PRAGMA database_list;

ফলাফল: seq, name, file – আমরা আগে .databases ডট কমান্ডে যা দেখেছি।

table_info – টেবিলের কলাম তথ্য। (এটি SQLite-র খুবই জনপ্রিয় PRAGMA)

sql

PRAGMA table_info('COMPANY');

ফলাফল: cid, name, type, notnull, dflt_value, pk। প্রতিটি কলামের বিস্তারিত। এটি প্রোগ্রামিংয়ে টেবিলের গঠন বুঝতে দারুণ কাজে লাগে।

index_list – কোনো টেবিলের ইনডেক্সের তালিকা।

sql

PRAGMA index_list('COMPANY');

ফলাফল: seq, name, unique। আমরা COMPANY টেবিলে প্রাইমারি কি-র জন্য একটি ইনডেক্স (sqlite_autoindex_COMPANY_1) দেখতে পাব।

index_info – নির্দিষ্ট ইনডেক্সের বিস্তারিত।

sql

PRAGMA index_info('sqlite_autoindex_COMPANY_1');

ফলাফল: seqno, cid, name – ইনডেক্সে ব্যবহৃত কলামের তালিকা।

foreign_key_list – ফরেন কি-এর তালিকা (পরে ব্যবহার করব)।

sql

PRAGMA foreign_key_list('table_name');

schema_version – স্কিমা ভার্সন (৩২-বিট সই করা পূর্ণসংখ্যা)। স্কিমা পরিবর্তন (CREATE/ALTER/DROP) হলে বাড়ে।

sql

PRAGMA schema_version;            -- বর্তমান ভার্সন দেখুন
PRAGMA schema_version = 5;        -- ম্যানুয়ালি সেট (সাবধান!)

user_version – ব্যবহারকারী নিজের প্রয়োজনে যে কোনো ৩২-বিট পূর্ণসংখ্যা সংরক্ষণ করতে পারেন। অ্যাপ্লিকেশন ভার্সনিং-এ কাজে আসে।

sql

PRAGMA user_version;
PRAGMA user_version = 100;

২.৪ ডিবাগিং ও ট্রেস

parser_trace – SQL পার্সারের ডিবাগ প্রিন্ট চালু/বন্ধ (ডিফল্ট false)।

sql

PRAGMA parser_trace = ON;
-- এরপর কোনো SQL কমান্ড দিলে পার্সিং স্টেট স্ক্রিনে প্রিন্ট হবে
PRAGMA parser_trace = OFF;

sql_trace – SQL ট্রেসিং (ডিবাগ বিল্ড প্রয়োজন; সাধারণত কাজ করে না)।

sql

PRAGMA sql_trace = ON;

২.৫ আচরণ ও নিরাপত্তা

case_sensitive_like – LIKE-এর কেস সেনসিটিভিটি (ডিফল্ট false, কেস-ইনসেনসিটিভ)।

sql

PRAGMA case_sensitive_like = TRUE;
-- এখন LIKE কেস-সেনসিটিভ আচরণ করবে

এই PRAGMA-র মান আবার পড়া যায় না।

count_changes – INSERT/UPDATE/DELETE-এর পর প্রভাবিত সারির সংখ্যা রিটার্ন করা (ডিফল্ট false)।

sql

PRAGMA count_changes = ON;
UPDATE COMPANY SET SALARY = 30000 WHERE NAME = 'Paul';
-- আউটপুট আসবে: 2 (Paul-এর দুটি সারি আপডেট হয়েছে)
PRAGMA count_changes = OFF;

recursive_triggers – ট্রিগারের ভেতর থেকে আরেকটি ট্রিগার ফায়ার করা যাবে কিনা (ডিফল্ট false)।

sql

PRAGMA recursive_triggers = TRUE;

secure_delete – ডিলিট করা ডেটা ডিস্ক থেকে পুরোপুরি মুছে ফেলা (ডিফল্ট false)। সত্য করলে ডেটা শূন্য দিয়ে ওভাররাইট হয়, নিরাপত্তা বাড়ে কিন্তু ধীর।

sql

PRAGMA secure_delete = ON;

writable_schema – sqlite_ দিয়ে শুরু হওয়া সিস্টেম টেবিল (sqlite_master) সরাসরি মডিফাই করার অনুমতি। চরম সতর্কতা! ভুল করলে সম্পূর্ণ ডাটাবেস নষ্ট হয়ে যেতে পারে।

sql

PRAGMA writable_schema = ON;
-- ডেভেলপমেন্ট/ডিবাগের বাইরে কখনোই চালু করবেন না
PRAGMA writable_schema = OFF;

৩. ব্যবহারিক সেশন: PRAGMA দিয়ে ডাটাবেস টিউন

company.db খুলে নিচের ধাপগুলো অনুসরণ করুন (নতুন টার্মিনালে):

bash

sqlite3 company.db

sql

.headers on
.mode column

-- বর্তমান জার্নাল মোড ওয়াল (WAL) এ সেট করি (পারফরম্যান্স)
PRAGMA journal_mode = WAL;

-- ক্যাশ সাইজ বাড়াই (4000 পেজ)
PRAGMA cache_size = 4000;

-- টেবিলের তথ্য দেখি
PRAGMA table_info('COMPANY');

-- সব ইনডেক্সের তালিকা
PRAGMA index_list('COMPANY');

-- ডাটাবেসের এনকোডিং ও পেজ সাইজ দেখি
PRAGMA encoding;
PRAGMA page_size;

-- ইউজার ভার্সন সেট করি (অ্যাপ্লিকেশনের জন্য)
PRAGMA user_version = 1;

-- auto_vacuum চেক করি
PRAGMA auto_vacuum;

ফলাফল: আপনি প্রতিটি PRAGMA-র আউটপুট টেবুলার বা স্কেলার আকারে দেখতে পাবেন।


৪. ডিরেক্টরি স্ট্রাকচার

PRAGMA কোনো ফাইল তৈরি করে না; এটি ডাটাবেস সংযোগের সেটিংস বা ফাইলের হেডার পরিবর্তন করে। আমাদের পরীক্ষার পরও ফোল্ডারে শুধু company.db থাকবে। তবে WAL জার্নাল মোড চালু করলে company.db-wal এবং company.db-shm ফাইল দেখা যেতে পারে (এগুলো জার্নালের অংশ)।

text

project-folder/
├── company.db
├── company.db-wal   (WAL মোডে স্বয়ংক্রিয়ভাবে তৈরি)
└── company.db-shm

প্যাকেজ: কোনো বাড়তি প্যাকেজ প্রয়োজন নেই।


৫. গুরুত্বপূর্ণ টিপস ও সতর্কতা

  • স্থায়ী পরিবর্তন: কিছু PRAGMA (যেমন auto_vacuum, encoding) শুধুমাত্র ডাটাবেস তৈরির সময় বা VACUUM-এর পরে সম্পূর্ণ কার্যকর হয়। এগুলো পরিবর্তন করে সাথে সাথে VACUUM করুন।
  • writable_schema থেকে দূরে থাকুন: এটি চালু করলে ভুলক্রমে sqlite_master নষ্ট করলে ডাটাবেস আনরিডেবল হয়ে যেতে পারে। শুধু এক্সপেরিমেন্টাল ডাটাবেসে ব্যবহার করুন।
  • পারফরম্যান্স বুস্ট: journal_mode = WAL এবং synchronous = NORMAL অধিকাংশ অ্যাপ্লিকেশনে ভালো পারফরম্যান্স দেয়। তবে ব্যাটারি চালিত ডিভাইস বা সংবেদনশীল ডেটার জন্য FULL নিরাপদ।
  • ক্যাশ টিউনিং: বড় cache_size মেমরি খরচ বাড়ায়, কিন্তু ডিস্ক I/O কমায়। মেমরি সীমাবদ্ধ পরিবেশে মানানসই মান নির্বাচন করুন।
  • PRAGMA-র রিটার্ন: প্রোগ্রামিং করার সময় PRAGMA table_info-র রেজাল্ট সেট সাধারণ SELECT-এর মতোই পাওয়া যায়, যা ডায়নামিক স্কিমা ডিটেকশনে সহায়তা করে।

৬. কমপ্লিট প্র্যাকটিস কমান্ড

নিচের কমান্ডগুলো নিরাপদভাবে চালিয়ে PRAGMA-র সাথে পরিচিত হোন:

sql

-- সমস্ত PRAGMA-র তালিকা (সব PRAGMA দেখাবে যেগুলোর নাম জানেন)
-- কোনো সরাসরি কমান্ড নেই, তবে আপনি .help দিয়ে দেখতে পারেন ডট কমান্ড

-- WAL চালু করে পরীক্ষা
PRAGMA journal_mode = WAL;
INSERT INTO COMPANY VALUES (11, 'Hasan', 30, 'Dhaka', 55000);
SELECT * FROM COMPANY;

-- table_info দিয়ে কলাম চেক
PRAGMA table_info('COMPANY');

-- ইউজার ভার্সন সেট ও দেখুন
PRAGMA user_version = 2026;
PRAGMA user_version;

পরবর্তী পর্বে

আমরা SQLite-তে Constraints নিয়ে বিস্তারিত শিখব – প্রাইমারি কি, ফরেন কি, ইউনিক, চেক, নট নাল ইত্যাদি।

লেখকের কথা: PRAGMA হল SQLite-র অন্দরমহলের চাবি। সঠিক ব্যবহার আপনার ডাটাবেসকে দ্রুত ও নিরাপদ করে তুলবে। বাংলায় এই টিউটোরিয়াল সিরিজ এগিয়ে নিতে আপনার শেয়ার, কমেন্ট ও সাবস্ক্রাইব আমাদের কাছে অমূল্য। ToLearnTeam.com-এ চোখ রাখুন নিয়মিত নতুন পর্বের জন্য। প্রশ্ন থাকলে কমেন্টে জানান – আমরা উত্তর দিতে প্রস্তুত!



SQLite Full Course

  1. SQLite পরিচিতি ও ইন্সটলেশন গাইড – বাংলায় প্রথম ডাটাবেস তৈরি
  2. SQLite কী এবং কেন শিখবেন? সম্পূর্ণ ওভারভিউ ও কমান্ড ক্লাসিফিকেশন (DDL, DML, DQL)
  3. SQLite ইন্সটলেশন গাইড – Windows, Linux ও Mac-এ ধাপে ধাপে সেটআপ
  4. SQLite ডট কমান্ড (Dot Commands) – সম্পূর্ণ গাইড, আউটপুট ফরম্যাট ও sqlite_master
  5. SQLite সিনট্যাক্স (Syntax) – কেস সেনসিটিভিটি, কমেন্ট, সব কমান্ডের গঠন ও উদাহরণ
  6. SQLite ডেটা টাইপ (Data Type) – স্টোরেজ ক্লাস, টাইপ অ্যাফিনিটি, বুলিয়ান ও ডেট-টাইম
  7. SQLite ডেটাবেস তৈরি (Create Database) – ধাপে ধাপে গাইড, .dump এক্সপোর্ট ও রিস্টোর
  8. SQLite ATTACH DATABASE – একাধিক ডাটাবেস সংযুক্ত করার সম্পূর্ণ গাইড (বাংলা)
  9. SQLite DETACH DATABASE – সংযুক্ত ডাটাবেস বিচ্ছিন্ন করার পূর্ণাঙ্গ গাইড
  10. SQLite CREATE TABLE স্টেটমেন্ট – টেবিল তৈরি করার পূর্ণাঙ্গ গাইড (বাংলা)
  11. SQLite DROP TABLE স্টেটমেন্ট – টেবিল ডিলিট করার সম্পূর্ণ গাইড (বাংলা)
  12. SQLite INSERT INTO স্টেটমেন্ট – ডেটা ইনসার্ট করার সম্পূর্ণ গাইড (বাংলা)
  13. SQLite SELECT স্টেটমেন্ট – টেবিল থেকে ডেটা ফেচ করার সম্পূর্ণ গাইড (বাংলা)
  14. SQLite অপারেটর (Operators) – Arithmetic, Comparison, Logical, Bitwise (বাংলা টিউটোরিয়াল)
  15. SQLite এক্সপ্রেশন (Expressions) – বুলিয়ান, নিউমেরিক ও ডেট এক্সপ্রেশন (বাংলা টিউটোরিয়াল)
  16. SQLite AND ও OR অপারেটর – একাধিক শর্ত দিয়ে ডেটা ফিল্টার (বাংলা টিউটোরিয়াল)
  17. SQLite UPDATE Query – টেবিলের ডেটা পরিবর্তন করার সম্পূর্ণ গাইড (বাংলা)
  18. SQLite DELETE Query – টেবিল থেকে ডেটা মুছে ফেলার সম্পূর্ণ গাইড (বাংলা)
  19. SQLite LIKE Operator – প্যাটার্ন মিলিয়ে ডেটা খোঁজার সম্পূর্ণ গাইড (বাংলা)
  20. SQLite GLOB Operator – কেস-সেনসিটিভ প্যাটার্ন মিলিয়ে ডেটা খোঁজা (বাংলা)
  21. SQLite LIMIT Clause – ডেটা সীমিত করে আনার সম্পূর্ণ গাইড (বাংলা)
  22. SQLite ORDER BY ক্লজ – ডেটা সাজানোর সম্পূর্ণ গাইড (বাংলা)
  23. SQLite GROUP BY ক্লজ – ডেটা গ্রুপ করে বিশ্লেষণ করার সম্পূর্ণ গাইড (বাংলা)
  24. SQLite HAVING ক্লজ – গ্রুপের উপর শর্ত দিয়ে ডেটা ফিল্টার (বাংলা টিউটোরিয়াল)
  25. SQLite DISTINCT Keyword – ডুপ্লিকেট ডেটা বাদ দিয়ে ইউনিক ভ্যালু পাওয়া (বাংলা)
  26. SQLite PRAGMA কমান্ড – ডাটাবেস কনফিগারেশন ও সেটিংস (বাংলা টিউটোরিয়াল)
  27. SQLite Constraints – NOT NULL, DEFAULT, UNIQUE, PRIMARY KEY, CHECK (বাংলা টিউটোরিয়াল)
  28. SQLite JOINS – CROSS JOIN, INNER JOIN, LEFT OUTER JOIN (বাংলা টিউটোরিয়াল)
  29. SQLite UNION ও UNION ALL – একাধিক SELECT একত্রিত করার সম্পূর্ণ গাইড (বাংলা)
  30. SQLite NULL Values – NULL কী, IS NULL, IS NOT NULL (বাংলা টিউটোরিয়াল)
  31. SQLite ALIAS Syntax – টেবিল ও কলামের অস্থায়ী নাম (বাংলা টিউটোরিয়াল)
  32. SQLite Triggers – স্বয়ংক্রিয় ট্রিগার তৈরি, ব্যবহার ও মুছে ফেলা (বাংলা টিউটোরিয়াল)
  33. SQLite Indexes – CREATE, UNIQUE, COMPOSITE, DROP INDEX (বাংলা টিউটোরিয়াল)
  34. SQLite INDEXED BY Clause – নির্দিষ্ট ইনডেক্স ব্যবহার ও NOT INDEXED (বাংলা)
  35. SQLite ALTER TABLE Command – টেবিলের গঠন পরিবর্তন (বাংলা টিউটোরিয়াল)
  36. SQLite TRUNCATE TABLE Command – DELETE ও DROP দিয়ে টেবিল খালি করা (বাংলা)
  37. SQLite Views – ভার্চুয়াল টেবিল তৈরি, ব্যবহার ও ডিলিট (বাংলা টিউটোরিয়াল)
  38. SQLite Transactions – BEGIN, COMMIT, ROLLBACK ও ACID প্রপার্টি (বাংলা)
  39. SQLite Subqueries – SELECT, INSERT, UPDATE, DELETE-এ সাবকোয়েরি ব্যবহার (বাংলা টিউটোরিয়াল)
  40. SQLite AUTOINCREMENT – স্বয়ংক্রিয়ভাবে প্রাইমারি কি মান বৃদ্ধি (বাংলা টিউটোরিয়াল)
  41. SQLite SQL Injection – কী, কেন বিপজ্জনক ও প্রতিরোধের উপায় (বাংলা টিউটোরিয়াল)
  42. SQLite EXPLAIN ও EXPLAIN QUERY PLAN – কোয়েরি বিশ্লেষণ (বাংলা টিউটোরিয়াল)
  43. SQLite VACUUM – ডাটাবেস পরিষ্কার, স্পেস রিক্লেইম ও অটো-ভ্যাকুয়াম (বাংলা টিউটোরিয়াল)
  44. SQLite Date & Time ফাংশন – date(), time(), datetime(), julianday(), strftime() (বাংলা টিউটোরিয়াল)
  45. SQLite Useful Functions – COUNT, MAX, MIN, AVG, SUM, RANDOM, ABS, UPPER, LOWER, LENGTH (বাংলা টিউটোরিয়াল)
  46. SQLite C/C++ প্রোগ্রামিং – sqlite3_open, exec, close, callback (বাংলা টিউটোরিয়াল)
  47. SQLite PHP প্রোগ্রামিং – PHP-তে SQLite ডাটাবেস ব্যবহার (বাংলা টিউটোরিয়াল)
  48. SQLite Perl প্রোগ্রামিং – DBI/DBD::SQLite দিয়ে ডাটাবেস অপারেশন (বাংলা)
  49. SQLite Python প্রোগ্রামিং – sqlite3 মডিউল দিয়ে CRUD অপারেশন (বাংলা টিউটোরিয়াল)
  50. SQLite Quick Guide – বাংলায় পূর্ণাঙ্গ সংক্ষিপ্ত টিউটোরিয়াল (শেখার সহজ গাইড)

Leave a Reply

Welcome to To Learn Team, a dynamic educational platform where knowledge meets collaboration. Designed for students, educators, and lifelong learners, we provide a curated hub of interactive study groups, expert tutorials, and comprehensive resources across diverse subjects. We believe that learning is most powerful when done together. By uniting a global community, we transform curiosity into confidence and individual aspirations into shared achievements. Join the To Learn Team today—elevate your intellect and grow with us!

Get In Touch

Address

Dhaka, Bangladesh

Email

abir43tee@gmail.com

Phone

+880 1711427737

Quick Search