এসকিউএলাইট: আমি কীভাবে কোনও সিএসভি ফাইল হিসাবে কোনও প্রশ্নের ফলাফল সংরক্ষণ করব?


উত্তর:


248

থেকে এখানে এবং d5e5 এর মন্তব্য:

আপনাকে আউটপুটটি সিএসভি-মোডে স্যুইচ করতে হবে এবং ফাইল আউটপুটটিতে স্যুইচ করতে হবে।

sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout

4
এই ফাইলটি কোথায় সংরক্ষণ করা হচ্ছে?
রায়লাভলেস

34
এটি স্ট্যান্ডার্ড আউটপুট, সম্ভবত আপনার পর্দা মুদ্রিত। কোনও ফাইলে আউটপুট সংরক্ষণ করতে: স্ক্লাইট> .আউটপুট টেস্ট.সিএসভি স্ক্রিনে মুদ্রণ ফলাফল পুনরুদ্ধার করতে: sqlite> .আউটপুট stdout
d5e5

1
পয়েন্টারগুলি যেখানে আমি ডাব্লু / নোড লাইব্রেরিতে এটি করব তা জানতে পারি?
কুয়ানব

2
স্ক্লাইট> .আউটপুট সি ব্যবহার করুন: / ব্যবহারকারী / জডো / ডকুমেন্টস / আউটপুট.csv আপনি যদি কোনও নির্দিষ্ট পথ ব্যবহার করতে চান তবে।
ডাস্টিন

ওহে! আমি এটা করেছি. যদিও আমার কোয়েরিটি পুরোপুরি কাজ করেছে, ফাইল আউটপুট খালি। কেউ জানে কেন?
ভ্যালেরিয়া লোবস অসান্দন

144

আপনার সিএসভি ফাইলে কলামের নাম অন্তর্ভুক্ত করতে আপনি নিম্নলিখিতগুলি করতে পারেন:

sqlite> .headers on
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout

আপনি যে পরিবর্তনগুলি করেছেন তা যাচাই করতে আপনি এই আদেশটি চালাতে পারেন:

sqlite> .show

আউটপুট:

echo: off   
explain: off   
headers: on   
mode: csv   
nullvalue: ""  
output: stdout  
separator: "|"   
stats: off   
width: 22 18 

3
কলামের নামগুলি কীভাবে পাবেন তা দেখানোর জন্য ধন্যবাদ! এই উত্তরটি আরও বেশি হওয়া দরকার।
স্টান জেমস

নোট করুন যে sqlite3 পূর্ববর্তী সামগ্রী মোছা ছাড়াই ফাইলের শেষে আউটপুট সংযোজন করে।
kupgov

1
কিন্তু প্রতিটি .output filename.csvসম্পাদন ফাইল তৈরি করে বা মুছে দেয়।
kupgov

25

Gdw2 এবং d5e5 থেকে ভাল উত্তর। এটিকে কিছুটা সহজ করার জন্য একক সিরিজের কমান্ডের সাথে সুপারিশগুলি একসাথে টানা:

sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout

23

উপরের উত্তরগুলি ছাড়াও আপনি .onceএকইভাবে ব্যবহার করতে পারেন .output। এটি নির্দিষ্ট ফাইলটিতে কেবলমাত্র পরবর্তী ক্যোয়ারিকে আউটপুট দেয় , যাতে আপনাকে অনুসরণ করতে না হয়.output stdout

সুতরাং উপরের উদাহরণে

.mode csv
.headers on
.once test.csv
select * from tbl1;

1

বিকল্পভাবে আপনি এটি এক লাইনে করতে পারেন (উইন 10 তে পরীক্ষিত)

sqlite3 -help
sqlite3 -header -csv db.sqlite 'select * from tbl1;' > test.csv

বোনাস: সেমিডলেট এবং পাইপ (|) দিয়ে পাওয়ারশেল ব্যবহার করা।

get-content query.sql | sqlite3 -header -csv db.sqlite > test.csv

যেখানে ক্যোয়ারী.এসকিউএল আপনার এসকিউএল কোয়েরি সমন্বিত একটি ফাইল

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.