با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش SQLite را دنبال می کنند. دیتابیس SQLite محیطی را برای مدیریت و اجرای کدهای SQL فراهم می کند، این یک محیط خط فرمان است که خود دستوراتی را برای مدیریت دیتابیس ها و جداول موجود در SQLite و فایل های مختلف آن را ارائه می دهد. این دستورات که dot command نامیده می شود، به شما قابلیت هایی می دهد که از جمله می توان به مشاهده اطلاعات مربوط به SQLite از جمله شماره نسخه و … ، مشاهده ی تمام دستورات مهم و ضروری dot command در SQLite در قالب یک جدول و… اشاره کرد. برای آشنایی با دستورات SQLite در ادامه ی این بخش با ما همراه باشید.
هدف از آموزش این مبحث به شما، آشنایی با دستورات SQLite و کاربردهای آن است.
ابتدا با فرمان sqlite3 شروع می کنیم که در خروجی نسخه ی SQLite و فرمان help. را معرفی می کند:
1 2 3 4 | $sqlite3 SQLite version 3.3.6 Enter ".help" for instructions sqlite> |
برای مشاهده ی لیست کامل dot command های در دسترس، می توانید از دستور “help.” به صورت زیر استفاده کنید :
1 | sqlite>.help |
دستور بالا لیستی از دستورات مهم SQLite را که در جدول زیر ذکر شده است را نمایش می دهد :
ردیف | Command & Description |
---|---|
۱ | .backup ?DB? FILE از دیتابیس پیش فرض “main” بک آپ می گیرد. |
۲ | .bail ON|OFF توقف پس از ضربه زدن به یک خطا با پیش فرض OFF |
۳ | .databases لیست نام ها و فایل های پایگاه داده های متصل را فهرست می کند. |
۴ | .dump ?TABLE? پایگاه داده را در فرمت متنی SQL کپی می کند. اگر TABLE مشخص شود، فقط جداول جداگانه با LIKE pattern TABLE قرار می گیرند. |
۵ | .echo ON|OFF دستور echo را روشن یا خاموش می کند. |
۶ | .exit خروج سریع از SQLite. |
۷ | .explain ON|OFF EXPLAIN را روشن یا خاموش می کند. |
۸ | .header(s) ON|OFF نمایش header ها را روشن یا خاموش می کند. |
۹ | .help همین لیست کنونی را نمایش می دهد. |
۱۰ | .import FILE TABLE داده ها را از فایل به جدول import می کند. |
۱۱ | .indices ?TABLE? نام تمام index ها را نمایش می دهد. اگر جدول مشخص شده باشد، فقط index ها را برای جداول مطابق با جدول LIKE TABLE نشان می دهد. |
۱۲ | .load FILE ?ENTRY? یک کتابخانه ی extension را load می کند. |
۱۳ | .log FILE|off فایل stderr/stdout را log on یا log off می کند. |
۱۴ | .mode MODE تنظیم حالت خروجی که MODE یکی از حالات زیر است :
|
۱۵ | .nullvalue STRING در محل مقادیر NULL عبارت Print STRING چاپ می شود. |
۱۶ | .output FILENAME خروجی را به FILENAME ارسال می کند. |
۱۷ | .output stdout خروجی را به صفحه نمایش می فرستد. |
۱۸ | .print STRING… چاپ حروف STRING |
۱۹ | .prompt MAIN CONTINUE استانداردهای جایگزین را پیشنهاد می کند. |
۲۰ | .quit خروج از SQLite. |
۲۱ | .read FILENAME اجرای SQL در FILENAME |
۲۲ | .schema ?TABLE? نمایش دستورات CREATE. اگر TABLE مشخص شده باشد، فقط جداول مطابق با LIKE pattern TABLE نمایش داده می شود. |
۲۳ | .separator STRING تغییر جدا کننده مورد استفاده توسط حالت خروجی و import. |
۲۴ | .show نمایش مقادیر جاری برای تنظیمات مختلف. |
۲۵ | .stats ON|OFF روشن یا خاموش کردن stats. |
۲۶ | .tables ?PATTERN? لیست نام جداول مچ شده با الگوی LIKE |
۲۷ | .timeout MS باز کردن جداول قفل شده برای میلی ثانیه های MS. |
۲۸ | .width NUM NUM عرض ستون ها را در حالت “column” تنظیم می کنیم. |
۲۹ | .timer ON|OFF زمان سنج CPU را روشن یا خاموش می کند. |
برای نمونه از دستور .show برای نمایش تنظیمات پیش فرض خط فرمان SQLite استفاده می کنیم :
1 2 3 4 5 6 7 8 9 10 | sqlite>.show echo: off explain: off headers: off mode: column nullvalue: "" output: stdout separator: "|" width: sqlite> |
اطمینان حاصل کنید بین فایلی که در SQLite> prompt و dot وجود دارد فاصله ای وجود نداشته باشد، در غیر این صورت کار نمی کند.
شما می توانید از ترتیب زیر dot command برای فرمت خروجی خود استفاده کنید:
1 2 3 4 | sqlite>.header on sqlite>.mode column sqlite>.timer on sqlite> |
تنظیمات فوق خروجی زیر را نشان می دهد :
1 2 3 4 5 6 7 8 9 10 | ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 CPU Time: user 0.000000 sys 0.000000 |
جدول master اطلاعات key را درباره ی جداول دیتابیس شما نگهداری می کنند که sqlite_master نامیده می شود.
شما می توانید این طرح را به صورت زیر ببینید :
1 | sqlite>.schema sqlite_master |
کد فوق محصول زیر را تولید می کند :
1 2 3 4 5 6 7 | CREATE TABLE sqlite_master ( type text, name text, tbl_name text, rootpage integer, sql text ); |
هذف اصلی از ارائه ی این بخش آشنایی با دستورات SQLite و کاربردهای آن ها در مدیریت اطلاعات دیتابیس ها و جداول موجود می باشد، از بخش بعدی به بررسی سینتکس SQLite و دستورات SQL در این دیتابیس می پردازیم.