पायथन कोडिंग के +20 घंटों और कमांड लाइन के साथ नौसिखिया परिचितता के साथ एक शुरुआत प्रोग्रामर के रूप में, मैंने ज़ेड शॉ के "एसक्यूएल द हार्ड वे" सीख लिया और जल्दी से स्टंप हो गया।एसक्यूएल सीखें हार्ड तरीका - SQL लाइट 3 में .db के साथ .sql बनाना - क्यों और कैसे?
exercise 01 में, जेड आप इस पहले आदेश के साथ अपनी पहली तालिका बनाने के होते हैं:
sqlite3 ex1.db < ex1.sql
हालांकि यह त्रुटि संदेश दे रही है मेरी कमांड लाइन में चलाने के लिए विफल रहता है, "-bash: ex1.sql: ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है।" प्रारंभ में, मैं इस कोड की सिफारिश को नजरअंदाज कर दिया और साथ रवाना हुए:
sqlite3 ex1.db
SQLite version 3.7.15.1 2012-12-19 20:39:10
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE person (
...> id INTEGER PRIMARY KEY,
...> first_name TEXT,
...> last_name TEXT,
...> age INTEGER
...>);
चल रहा कमांड लाइन में "एल ls" पता चलता है:
-rw-r--r-- 1 thefifth staff 2048 Feb 15 15:23 ex1.db
लेकिन क्या मैं चाहता हूँ और प्राप्त करने में नाकाम रहने रहा हूँ:
$ ls -l
-rw-r--r-- 1 zedshaw staff 2048 Nov 8 16:18 ex1.db
-rw-r--r-- 1 zedshaw staff 92 Nov 8 16:14 ex1.sql
मैं चारों ओर Google पर और this blog है कि एक ही "name.db < name.sql" वाक्य रचना को लागू करता है, लेकिन कोड के साथ निम्नलिखित यहाँ या तो मेरे लिए काम नहीं किया पाया। यह Stack Overflow भी एक समान वाक्यविन्यास है, लेकिन .sql से sqlite3 को परिवर्तित करने के संदर्भ में।
विशेष रूप से, मुझे आश्चर्य है कि यह मूल बैश टर्मिनल में उपयोग के लिए "<" है, और मैं इसके सही उपयोग के लिए कुछ मानदंडों को पूरा करने में विफल रहा हूं। इसके अलावा, मुझे एक .sql और .db फ़ाइल बनाने का उद्देश्य पता नहीं है, हालांकि स्पष्ट रूप से एक दूसरे की तुलना में बहुत छोटा है। शायद मैंने sqlite3 को गलत तरीके से स्थापित किया है, लेकिन ऐसा लगता है कि यह ठीक काम कर रहा है।
आपकी मदद के लिए धन्यवाद!
दो प्रतिक्रियाओं में से, यह उत्तर ज़ेड के उत्तर जैसा दिखता है, हालांकि 2048 फ़ाइल किसी भी तरह से .dv प्रारूप के रूप में बनाई गई थी, कम से कम यह डेटाबेस प्रारूप में थी। धन्यवाद! – surrealdetective