पहली बार उपयोग करने पर यह अपना इंजन लोड करता है, इसलिए कोई ऑफ़लाइन डाउनलोड नहीं है — लेकिन फिर भी यह आपके ब्राउज़र में निजी तौर पर चलता है, कुछ भी अपलोड नहीं होता।
इस टूल के बारे में
यह टूल एक CSV को असली इन-मेमोरी SQLite डेटाबेस में लोड करता है और आपको उस पर असली SQL चलाने देता है — SELECT, WHERE, ORDER BY, GROUP BY, SUM और COUNT जैसे एग्रीगेट, सबक्वेरी और सेल्फ-जॉइन सब ठीक वैसे ही काम करते हैं जैसे किसी डेटाबेस में। यह WebAssembly में कंपाइल किए गए आधिकारिक SQLite से संचालित है, इसलिए क्वेरी इंजन असली चीज़ है, कोई आंशिक री-इम्प्लीमेंटेशन नहीं।
कुछ भी अपलोड नहीं होता। SQLite इंजन और आपकी CSV कभी आपके डिवाइस से बाहर नहीं जाते — पूरा डेटाबेस आपके ब्राउज़र टैब की मेमोरी में रहता है और जब आप उसे बंद करते हैं तो गायब हो जाता है। इससे यह एक्सपोर्ट, सेल्स डेटा, लॉग या किसी भी ऐसी स्प्रेडशीट को एक्सप्लोर करने के लिए एक सुरक्षित स्क्रैचपैड है जिसे आप किसी ऑनलाइन डेटाबेस में पेस्ट नहीं करना चाहेंगे। चूंकि यह आधिकारिक eval-मुक्त SQLite बिल्ड इस्तेमाल करता है, यह उन सख्त सुरक्षा नीतियों के तहत भी चलता है जहां sql.js-शैली के टूल ब्लॉक होते हैं।
कॉलम के नाम हेडर पंक्ति से लिए जाते हैं और मान्य आइडेंटिफ़ायर में सैनिटाइज़ किए जाते हैं; हर मान टेक्स्ट के रूप में संग्रहित होता है, इसलिए जब अंकगणित की ज़रूरत हो तो अपनी क्वेरी में संख्याओं में कास्ट करें (उदाहरण के लिए CAST(price AS REAL))। परिणाम एक टेबल के रूप में दिखते हैं जिसे आप CSV के रूप में डाउनलोड कर सकते हैं।
अक्सर पूछे जाने वाले प्रश्न
क्या मेरी CSV या मेरी क्वेरी कहीं अपलोड होती है?
नहीं। SQLite इंजन WebAssembly के माध्यम से पूरी तरह आपके ब्राउज़र के अंदर चलता है और डेटाबेस केवल मेमोरी में रखा जाता है। आपकी CSV, आपका SQL और परिणाम कभी आपके डिवाइस से बाहर नहीं जाते और टैब बंद करते ही समाप्त हो जाते हैं।
कौन-सा SQL और कौन-से फ़ाइल फ़ॉर्मैट सपोर्ट हैं?
इनपुट CSV (कॉमा, सेमीकॉलन, टैब या पाइप डिलिमिटेड) है। इंजन असली SQLite है, इसलिए मानक SELECT क्वेरी — WHERE, ORDER BY, GROUP BY, HAVING, LIMIT, एग्रीगेट, सबक्वेरी और जॉइन — सपोर्ट हैं। CSV लोड करने पर एक नई टेबल बनती है, इसलिए यह लॉसी री-एनकोड नहीं है; यह केवल आपके मानों को एक डेटाबेस में पढ़ता है।
संख्यात्मक तुलनाएं टेक्स्ट की तरह क्यों व्यवहार कर रही हैं?
हर कॉलम TEXT के रूप में संग्रहित होता है ताकि कुछ भी अनुमानित या खोया न जाए, जिसका मतलब है कि SQLite उन्हें स्ट्रिंग के रूप में सॉर्ट और तुलना करता है। जब असली संख्याओं की ज़रूरत हो तो अपनी क्वेरी में कास्ट करें — जैसे ORDER BY CAST(price AS REAL) DESC या WHERE CAST(qty AS INTEGER) > 100।
कॉलम और टेबल के नाम कैसे चुने जाते हैं?
कॉलम के नाम हेडर पंक्ति से आते हैं (हेडर चेकबॉक्स चालू होने पर) और मान्य SQL आइडेंटिफ़ायर में सैनिटाइज़ किए जाते हैं, टकरावों को डी-डुप्लिकेट करते हुए; हेडर के बिना वे col1, col2 आदि बन जाते हैं। टेबल का नाम डिफ़ॉल्ट रूप से t होता है और CSV लोड करने से पहले बदला जा सकता है।
और टूल