| SQLITE3(1) | دستورات کاربر | SQLITE3(1) |
نام (NAME)
sqlite3 - واسط خط فرمان برای پایگاهداده رابطهای SQLite 3
خلاصه دستور (SYNOPSIS)
sqlite3 [گزینهها] [فایل_پایگاهداده] [SQL]
چکیده (SUMMARY)
sqlite3 یک رابط مبتنی بر ترمینال برای کتابخانه SQLite است که میتواند پرسوجوها را به صورت تعاملی ارزیابی کرده و نتایج را در چندین قالب نمایش دهد. همچنین میتوان از sqlite3 درون اسکریپتهای شل و سایر برنامهها برای ارائه قابلیتهای پردازش دستهای استفاده کرد.
توضیحات (DESCRIPTION)
دستور sqlite3 یک واسط تعاملی خط فرمان برای اجرای دستورات SQL و مدیریت پایگاههای داده SQLite نگارش ۳ است. برای شروع یک نشست تعاملی sqlite3، دستور sqlite3 را اجرا کرده و به دلخواه نام یک فایل پایگاهداده را وارد کنید. اگر فایل پایگاهداده وجود نداشته باشد، ایجاد خواهد شد. اگر فایل پایگاهداده موجود باشد، باز میشود.
به عنوان مثال، برای ایجاد یک فایل پایگاهداده جدید به نام "mydata.db"، ایجاد جدولی به نام "memos" و درج چند رکورد درون آن جدول:
$ sqlite3 mydata.db
SQLite version 3.8.8
Enter ".help" for instructions
sqlite> create table memos(text, priority INTEGER);
sqlite> insert into memos values('deliver project description', 10);
sqlite> insert into memos values('lunch with Christine', 100);
sqlite> select * from memos;
deliver project description|10
lunch with Christine|100
sqlite>
اگر نام پایگاهدادهای مشخص نشود، میتوان از دستور SQL با عنوان ATTACH برای پیوستن به پایگاههای داده موجود یا ایجاد فایلهای پایگاهداده جدید استفاده کرد. همچنین از ATTACH میتوان برای پیوستن به چندین پایگاهداده در یک نشست تعاملی واحد استفاده نمود. این کار برای انتقال دادهها میان پایگاههای داده و احتمالاً تغییر طرحواره (اسکیما) در این مسیر مفید است.
به صورت اختیاری، یک دستور SQL یا مجموعهای از دستورات SQL میتوانند به عنوان یک تک آرگومان ارسال شوند. دستورات چندگانه باید با نقطه-ویرگول (;) از هم جدا شوند.
برای مثال:
$ sqlite3 -line mydata.db 'select * from memos where priority
> 20;'
text = lunch with Christine
priority = 100
دستورات ویژه SQLITE (SQLITE META-COMMANDS)
مفسر تعاملی مجموعهای از دستورات ویژه (meta-commands) را ارائه میدهد که میتوان برای کنترل قالب خروجی، بررسی فایلهای پایگاهداده متصلشده یا انجام عملیات مدیریتی روی پایگاههای داده پیوستشده (مانند بازسازی شاخصها) از آنها استفاده کرد. این دستورات همواره با یک نقطه (.) آغاز میشوند.
فهرستی از دستورات ویژه موجود در هر زمان با اجرای دستور '.help' قابل مشاهده است. برای مثال:
sqlite> .help
.backup ?DB? FILE پشتیبانگیری از DB (پیشفرض "main") در FILE
.bail on|off توقف پس از برخورد به خطا. پیشفرض OFF
.clone NEWDB کلون دادهها به NEWDB از پایگاهداده موجود
.databases فهرست نامها و فایلهای پایگاههای داده پیوستشده
.dump ?TABLE? ... تخلیه پایگاهداده در قالب متنی SQL
در صورت مشخص شدن TABLE، فقط جدولهای منطبق
با الگوی LIKE تخلیه میشوند.
.echo on|off روشن یا خاموش کردن پژواک دستورات
.eqp on|off فعال یا غیرفعال کردن خودکار EXPLAIN QUERY PLAN
.exit خروج از این برنامه
.explain ?on|off? روشن یا خاموش کردن حالت خروجی مناسب برای EXPLAIN.
بدون آرگومان، EXPLAIN را روشن میکند.
.fullschema نمایش اسکیما و محتوای جدولهای sqlite_stat
.headers on|off روشن یا خاموش کردن نمایش سرآیندها
.help نمایش این پیام
.import FILE TABLE وارد کردن داده از FILE به TABLE
.indices ?TABLE? نمایش نامهای همه شاخصها
در صورت تعیین TABLE، فقط شاخصهای جدولهای
منطبق با الگوی LIKE نمایش داده میشوند.
.load FILE ?ENTRY? بارگذاری یک کتابخانه افزونه
.log FILE|off روشن یا خاموش کردن ثبت وقایع. FILE میتواند stderr/stdout باشد
.mode MODE ?TABLE? تنظیم حالت خروجی که در آن MODE یکی از موارد زیر است:
csv مقادیر جدا شده با کاما
column ستونهای چپچین (به .width مراجعه کنید)
html کد جدول HTML <table>
insert دستورات درج SQL برای TABLE
line یک مقدار در هر خط
list مقادیر جدا شده با رشته .separator
tabs مقادیر جدا شده با تب
tcl عناصر فهرست TCL
.nullvalue STRING استفاده از STRING به جای مقادیر NULL
.once FILENAME ارسال خروجی فقط دستور SQL بعدی به FILENAME
.open ?FILENAME? بستن پایگاهداده موجود و باز کردن مجدد FILENAME
.output ?FILENAME? ارسال خروجی به FILENAME یا stdout
.print STRING... چاپ مستقیم STRING
.prompt MAIN CONTINUE جایگزینی اعلانهای استاندارد ورودی
.quit خروج از این برنامه
.read FILENAME اجرای SQL درون FILENAME
.restore ?DB? FILE بازیابی محتوای DB (پیشفرض "main") از FILE
.save FILE نوشتن پایگاهداده درونحافظه در FILE
.schema ?TABLE? نمایش دستورات CREATE
در صورت تعیین TABLE، فقط جدولهای منطبق
با الگوی LIKE نمایش داده میشوند.
.separator STRING ?NL? تغییر جداکننده مورد استفاده حالت خروجی و .import
شناسه NL نشانه پایان خط برای CSV است
.shell CMD ARGS... اجرای CMD ARGS... در شل سیستم
.show نمایش مقادیر کنونی برای تنظیمات گوناگون
.stats on|off روشن یا خاموش کردن آمار
.system CMD ARGS... اجرای CMD ARGS... در شل سیستم
.tables ?TABLE? فهرست کردن نامهای جدولها
در صورت تعیین TABLE، فقط جدولهای منطبق
با الگوی LIKE فهرست میشوند.
.timeout MS تلاش برای باز کردن جدولهای قفلشده به مدت MS میلیثانیه
.timer on|off روشن یا خاموش کردن زمانسنج SQL
.trace FILE|off نمایش هر دستور SQL همزمان با اجرای آن
.vfsname ?AUX? چاپ نام پشته VFS
.width NUM1 NUM2 ... تنظیم عرض ستونها برای حالت "column"
مقادیر منفی راستچین میکنند
sqlite>
گزینهها (OPTIONS)
sqlite3 دارای گزینههای زیر است:
- -bail
- توقف پس از برخورد با خطا.
- -batch
- اجبار به ورودی/خروجی دستهای.
- -column
- نتایج پرسوجو در قالبی شبیه به جدول نمایش داده میشوند و از نویسههای فاصله برای جداسازی ستونها و تراز کردن خروجی استفاده میشود.
- -cmd command
- اجرای command پیش از خواندن ورودی استاندارد (stdin).
- -csv
- تنظیم حالت خروجی به CSV (مقادیر جدا شده با کاما).
- -echo
- چاپ دستورات پیش از اجرا.
- -init file
- خواندن و اجرای دستورات از file که میتواند شامل ترکیبی از دستورات SQL و متادستورها باشد.
- -[no]header
- روشن یا خاموش کردن سرآیندها.
- -help
- نمایش راهنمای گزینهها و خروج.
- -html
- نتایج پرسوجو به صورت جدولهای ساده HTML خروجی داده میشوند.
- -interactive
- اجبار به ورودی/خروجی تعاملی.
- -line
- نتایج پرسوجو با یک مقدار در هر خط نمایش مییابند و سطرها با یک خط خالی از هم جدا میشوند. طراحیشده برای تجزیه آسان توسط اسکریپتها یا سایر برنامهها.
- -list
- نتایج پرسوجو با نویسه جداکننده (به طور پیشفرض |) میان هر مقدار فیلد نمایش داده میشوند. این حالت پیشفرض است.
- -mmap N
- تنظیم اندازه پیشفرض mmap به N.
- -nullvalue string
- تنظیم رشته مورد استفاده برای نمایش مقادیر NULL. پیشفرض '' (رشته خالی) است.
- -separator separator
- تنظیم جداکننده فیلدهای خروجی. پیشفرض '|' است.
- -stats
- چاپ آمار حافظه پیش از هر آزادسازی پایانی (finalize).
- -version
- نمایش نگارش SQLite.
- -vfs name
- استفاده از name به عنوان سامانه فایل مجازی (VFS) پیشفرض.
فایل پیکربندی (INIT FILE)
sqlite3 یک فایل راهاندازی را برای اعمال پیکربندی محیط تعاملی میخواند. در طول مقداردهی اولیه، هر تنظیم قبلی میتواند بازنویسی شود. توالی مقداردهی اولیه به شرح زیر است:
o پیکربندی پیشفرض به صورت زیر برقرار میشود:
mode = LIST separator = "|" main prompt = "sqlite> " continue prompt = " ...> "
o اگر فایل ~/.sqliterc در دایرکتوری خانگی کاربر موجود باشد، خوانده شده و پردازش میشود. این فایل معمولاً فقط باید حاوی متادستورها باشد.
o در صورت وجود گزینه -init، فایل مشخصشده پردازش میشود.
o تمام گزینههای دیگر خط فرمان پردازش میشوند.
همچنین ببینید (SEE ALSO)
http://www.sqlite.org/cli.html
بسته sqlite3-doc.
نویسندگان (AUTHORS)
این صفحه راهنما در ابتدا توسط Andreas Rottmann <rotty@debian.org> برای سیستم گنو/لینوکس دبیان نوشته شد (اما ممکن است توسط دیگران نیز استفاده شود). متعاقباً توسط Bill Bumgarner <bbum@mac.com> بازبینی شد و بعداً توسط Laszlo Boszormenyi <gcs@debian.hu> بهروزرسانی گردید.
| مه ۲۰۲۵ | sqlite |