استفاده از sqlite در ترمینال لینوکس
استفاده از sqlite در ترمینال لینوکس
معرفی کلی SQLite
SQLite یک سیستم مدیریت پایگاه داده رابطهای (RDBMS) بسیار سبک، سریع و قابل اطمینان است که برخلاف بسیاری از پایگاههای داده دیگر مانند MySQL یا PostgreSQL، نیازی به سرویسدهنده جداگانه (Server) یا فرآیند مستقل برای اجرا ندارد. این نرمافزار به صورت توکار (Embedded) درون برنامهای که از آن استفاده میکند اجرا میشود و کل پایگاه داده را در قالب یک فایل معمولی روی دیسک ذخیره میکند. این ویژگی منحصربهفرد باعث شده است که SQLite به انتخابی ایدهآل برای برنامههای موبایل (اندروید و iOS)، مرورگرهای وب، دستگاههای IoT، و اپلیکیشنهای دسکتاپ کوچک تبدیل شود، زیرا نیازی به نصب و پیکربندی پیچیده ندارد.
از مهمترین مزایای SQLite میتوان به عدم نیاز به پیکربندی، قابلیت حملآسان (فقط کافی است فایل دیتابیس را کپی کنید)، و رعایت کامل استانداردهای SQL اشاره کرد. این پایگاه داده برای پروژههای کوچک و متوسط، توسعه و تست نرمافزار، و ذخیره دادههای محلی برنامهها بسیار مناسب است. با این حال، SQLite برای سناریوهای سنگین با همزمانی بالا (Concurrency) که تعداد زیادی کاربر همزمان نیاز به نوشتن داده داشته باشند، طراحی نشده است. همچنین امکانات مدیریت کاربر و دسترسی پیشرفته (مانند grant/revoke) را ندارد. به همین دلیل، برای سیستمهای وب بزرگ و سازمانی با ترافیک بالا، معمولاً از پایگاههای داده سرویسمحور مانند PostgreSQL یا MySQL استفاده میشود.
سپس امکان آنرا دارید که فایل دیتابیس را با دستور sqlite [DB path/DB name]
پس از اتصال امکان اجرای کوئری خواهید داشت اما جهت سهولت استفاده چند مورد از دستورات ضروری sqlite3 را در فلسک دولوپر با هم مرور میکنیم:
.tablesبرای مشاهده جداول.tables [pattern]برای مشاهده جدول با الگوی خاص مثلا با users آغاز شود (users%).quitخروج از sqlite- با نوشتن کوئری شما عنوان ستون های جداول را نمیبینید، برای داشتن عناوین ستون ها باید از این دستور استفاده کنید : .headers on
آیا استفاده از sqlite امن است؟
برای پاسخ به این سوال باید سناریو خود را مرور کنید. در شرایطی ممکن است استفاده sqlite امن و معقول باشد. بطور کلی sqlite بیشتر امکانات Mariadb یا Postgresql را دارا نیست اما میتواند در سناریو های کوچک یا داده های موقت بخوبی نقش ایفا کند، ساختار server less در sqlite سبب میشود با شبکه درگیر نبوده و برای برنامه هایی با ترافیک کم بهتر از سایرین عمل کند اما نباید فراموش کرد که چون همه چیز وابسته به یک فایل است آسیب پذیری جدی بخصوص در هنگام حملات بد افزاری وجود خواهد داشت. همچنین وابستگی زیاد به سرعت دیسک ممکن است محدودیت هایی برای شما ایجاد کند.