मैं SQLite 3 में .sql फ़ाइलों को कैसे आयात करूं?


98

मेरे पास .sql फाइलें हैं जिनमें निम्नलिखित सामग्री है:

#cat db.sql
create table server(name varchar(50),ipaddress varchar(15),id init)
create table client(name varchar(50),ipaddress varchar(15),id init)

मैं इस फ़ाइल को SQLite में कैसे आयात करूं ताकि ये अपने आप बन जाएं?


sqlite3 DB.db <db.sql त्रुटि: अधूरी SQL: तालिका सर्वर (नाम varchar (50), ipaddress varchar (15), id init) तालिका क्लाइंट (नाम varchar (50), ipaddress varchar (15), id init) बनाएँ ) इस त्रुटि का क्या मतलब है? मैंने दोनों तरीकों की कोशिश की>। Db.sql और sqlite3 DB.db <db.sql
webminal.org

जवाबों:


164

एक sqlite प्रॉम्प्ट से:

sqlite> .read db.sql

या:

cat db.sql | sqlite3 database.db

इसके अलावा, आपका SQL अमान्य है - आपको ;अपने बयानों के अंत में जरूरत है :

create table server(name varchar(50),ipaddress varchar(15),id init);
create table client(name varchar(50),ipaddress varchar(15),id init);

sqlite3 DB.db <db.sql त्रुटि: अधूरी SQL: तालिका सर्वर (नाम varchar (50), ipaddress varchar (15), id init) तालिका क्लाइंट (नाम varchar (50), ipaddress varchar (15), id init) बनाएँ ) इस त्रुटि का क्या मतलब है? मैंने दोनों तरीकों की कोशिश की>। Db.sql और sqlite3 DB.db <db.sql ... धन्यवाद
webminal.org

1
धन्यवाद अब यह काम कर रहा है। मुझे याद किया; और "-" जैसे अमान्य वर्ण शामिल हैं। अब यह ठीक है। धन्यवाद !!!
webminal.org

@lakshmipathi, यदि यह काम कर रहा है, तो आप उन दो उत्तरों में से एक को चिह्नित कर सकते हैं, जिन्होंने उत्तर के बगल में वोट गणना के तहत टिक पर क्लिक करके आपके प्रश्न का उत्तर दिया।
डोमिनिक रॉगर

59

का उपयोग करें sqlite3 database.sqlite3 < db.sql। आपको यह सुनिश्चित करने की आवश्यकता होगी कि आपकी फ़ाइलों में SQLite के लिए वैध SQL है।


मुझे भी (विंडोज कमांड लाइन सिंटैक्स)। धन्यवाद। यकीन है कि धीमी है, हालांकि।
बार्टन

2
मुझे 40 + एमबी .sql फ़ाइल से अधीर इमारत मिली, sqlite3 database.sqlite3 <sqbite के पक्ष में समाप्त करें। db.sql विकल्प बस के रूप में धीमी है, यह पता चला है।
बार्टन

18

वैकल्पिक रूप से, आप इसे Windows कमांडलाइन प्रॉम्प्ट / बैच फ़ाइल से कर सकते हैं:

sqlite3.exe DB.db ".read db.sql"

जहां DB.db डेटाबेस फ़ाइल है, और db.sql चलाने / आयात करने के लिए SQL फ़ाइल है।


यह मेरे लिए काम करता है, हालाँकि मैं sqlite3 को टर्मिनल में एक कमांड के रूप में चलाता था:sqlite3 DB.db ".read db.sql"
Bugbeeb

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.