SQL2CSV(1) csvkit SQL2CSV(1)

sql2csv - اجرای کوئری‌های SQL روی پایگاه‌داده و خروجی در قالب CSV

اجرای دستورات دلخواه روی یک پایگاه‌داده SQL و ارائه نتایج در قالب CSV:

usage: sql2csv [-h] [-v] [-l] [-V] [--db CONNECTION_STRING] [--query QUERY]
               [-e ENCODING] [-H]
               [FILE]
اجرای یک کوئری SQL روی پایگاه‌داده و خروجی دادن نتیجه در یک فایل CSV.
آرگومان‌های مکانی:
  FILE                  فایلی که به عنوان کوئری SQL استفاده می‌شود. اگر FILE و
                        --query حذف شوند، کوئری از داده‌های هدایت‌شده (پایپ)
                        از طریق STDIN دریافت می‌شود.
آرگومان‌های اختیاری:
  -h, --help            نمایش این پیام راهنما و خروج
  --db CONNECTION_STRING
                        رشته اتصال SQLAlchemy برای اتصال به یک پایگاه‌داده.
  --engine-option ENGINE_OPTION ENGINE_OPTION
                        یک آرگومان کلیدواژه‌ای برای ()create_engine در
                        SQLAlchemy، به‌صورت یک جفت جداشده با فاصله. این گزینه
                        می‌تواند چندین بار مشخص شود. برای نمونه: thick_mode True
  --execution-option EXECUTION_OPTION EXECUTION_OPTION
                        یک آرگومان کلیدواژه‌ای برای ()execution_options در
                        SQLAlchemy، به‌صورت یک جفت جداشده با فاصله. این گزینه
                        می‌تواند چندین بار مشخص شود. برای نمونه:
                        stream_results True
  --query QUERY         کوئری SQL برای اجرا. بر FILE و STDIN اولویت دارد.
  -e ENCODING, --encoding ENCODING
                        تعیین کدگذاری فایل کوئری ورودی.
  -H, --no-header-row   عدم خروجی دادن نام ستون‌ها (سطر سرآیند).

بارگذاری داده‌های نمونه در یک جدول با استفاده از csvsql و سپس اجرای کوئری روی آن با استفاده از sql2csv:

csvsql --db "sqlite:///dummy.db" --tables "test" --insert examples/dummy.csv
sql2csv --db "sqlite:///dummy.db" --query "select * from test"

بارگذاری داده‌های مربوط به دریافت‌کنندگان کمک مالی در PostgreSQL. سپس یافتن سه ایالتی که بیشترین میزان را دریافت کرده‌اند، ضمن حذف سطرهای خالی:

createdb recipients
csvsql --db "postgresql:///recipients" --tables "fy09" --insert examples/realdata/FY09_EDU_Recipients_by_State.csv
sql2csv --db "postgresql:///recipients" --query "select * from fy09 where \"State Name\" != '' order by fy09.\"TOTAL\" limit 3"

حتی می‌توانید از آن به عنوان یک ماشین‌حساب ساده SQL استفاده کنید (در این مثال، یک پایگاه‌داده SQLite در حافظه به‌صورت پیش‌فرض استفاده می‌شود):

sql2csv --query "select 300 * 47 % 14 * 27 + 7000"

رشته اتصال پارامترها را می‌پذیرد. برای نمونه، جهت تنظیم کدگذاری یک پایگاه‌داده MySQL:

sql2csv --db 'mysql://user:pass@host/database?charset=utf8' --query "SELECT myfield FROM mytable"

Christopher Groskopf و مشارکت‌کنندگان

2016, Christopher Groskopf and James McKinney

۱۶ اوت ۲۰۲۴ 2.2.0