Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Expo Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Expo Intro
  • Expo vs React Native
  • RN Basics
  • Environment Setup
  • Project Setup
  • Project Structure
  • App Config
  • Expo Router Intro
  • Stack Navigation
  • Tabs Navigation
  • Core Components
  • Styling & Flexbox
  • Safe Area
  • Scroll & Lists
  • Forms & State
  • AsyncStorage
  • Project: Task Actions
  • Project: Screens
  • Images & Assets
  • Icons & Fonts
  • Theming
  • Camera & Picker
  • Notifications
  • Location & Maps
  • SQLite
  • API & Fetch
  • Loading & Errors
  • Secure Store & Auth
  • Auth Session
  • AppState & Network
  • Performance
  • Debugging & Tests
  • Config & Env
  • Splash & Updates
  • EAS Build
  • EAS Update
  • Store Submission
  • Common Mistakes
  • Best Practices
  • Interview Questions
  1. Docs
  2. Expo
  3. expo-sqlite — local SQL database
ExpoAdvanced

expo-sqlite — local SQL database

AsyncStorage-এর পরের ধাপ — expo-sqlite দিয়ে structured data।

5টি অংশবাংলা ভাষায়

বড়/relational data-তে AsyncStorage-এর চেয়ে `expo-sqlite` উপযুক্ত — full SQL।

terminalbash
bash
npx expo install expo-sqlite
lib/db.tsts
ts
import * as SQLite from "expo-sqlite";

const db = SQLite.openDatabaseSync("tasktrack.db");

export function setup() {
  const sql =
    "CREATE TABLE IF NOT EXISTS tasks (" +
    "id TEXT PRIMARY KEY NOT NULL," +
    "title TEXT NOT NULL," +
    "done INTEGER DEFAULT 0," +
    "created_at TEXT NOT NULL);";
  db.execSync(sql);
}

export function getTasks() {
  return db.getAllSync(
    "SELECT * FROM tasks ORDER BY created_at DESC"
  );
}

export function insertTask(id, title) {
  db.runSync(
    "INSERT INTO tasks (id, title, created_at) VALUES (?, ?, ?)",
    id,
    title,
    new Date().toISOString()
  );
}
  • getAllSync / runSync / execSync — sync API (UI-heavy কাজে ডাকা উচিত না)
  • prepared statements ? — SQL injection থেকে নিরাপদ
  • migration — PRAGMA user_version দিয়ে
কখন SQLite

হাজার+ row, relation, filter/join দরকার — SQLite। আরামদায়ক ব্যক্তিগত small state — AsyncStorage যথেষ্ট।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরexpo-location ও react-native-mapsপরেরREST API থেকে data — fetch ও POST
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com