Wie importiere ich SQL-Dateien in SQLite 3?


97

Ich habe SQL-Dateien mit folgendem Inhalt:

#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)

Wie importiere ich diese Datei in SQLite, damit diese automatisch erstellt werden?


sqlite3 DB.db <db.sql Fehler: unvollständiges SQL: Tabellenserver erstellen (Name varchar (50), IP-Adresse varchar (15), ID init) Tabellenclient erstellen (Name varchar (50), IP-Adresse varchar (15), ID init ) Was bedeutet dieser Fehler? Ich habe beide Methoden ausprobiert> .read db.sql und sqlite3 DB.db <db.sql
webminal.org

Antworten:


163

Von einer SQLite-Eingabeaufforderung:

sqlite> .read db.sql

Oder:

cat db.sql | sqlite3 database.db

Außerdem ist Ihre SQL ungültig - Sie benötigen ;am Ende Ihrer Anweisungen:

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 Fehler: unvollständiges SQL: Tabellenserver erstellen (Name varchar (50), IP-Adresse varchar (15), ID init) Tabellenclient erstellen (Name varchar (50), IP-Adresse varchar (15), ID init ) Was bedeutet dieser Fehler? Ich habe beide Methoden ausprobiert> .read db.sql und sqlite3 DB.db <db.sql ... Danke
webminal.org

1
danke Es funktioniert jetzt. Ich habe es verpasst; und ungültige Zeichen wie "-" enthalten. Jetzt ist es in Ordnung. Danke !!!
webminal.org

@lakshmipathi, wenn es funktioniert, können Sie eine der beiden Antworten, die Ihre Frage beantwortet haben, als akzeptiert markieren, indem Sie auf das Häkchen unter der Stimmenzahl neben der Antwort klicken.
Dominic Rodger

58

Verwenden Sie sqlite3 database.sqlite3 < db.sql. Sie müssen sicherstellen, dass Ihre Dateien gültiges SQL für SQLite enthalten.


Ich auch (Windows-Befehlszeilensyntax). Vielen Dank. Sicher ist es aber langsam.
Barton

2
Ich habe ungeduldig aus einer 40 + Mb .sql-Datei erstellt, sqlite3 database.sqlite3 <db.sql zugunsten von sqlite> .read db.sql beendet. Die Alternative ist genauso langsam, wie sich herausstellt.
Barton

17

Alternativ können Sie dies über eine Windows-Eingabeaufforderungs- / Batchdatei tun:

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

Dabei ist DB.db die Datenbankdatei und db.sql die auszuführende / zu importierende SQL-Datei.


Dies funktionierte für mich, obwohl ich sqlite3 als Befehl im Terminal ausgeführt habe, also:sqlite3 DB.db ".read db.sql"
Bugbeeb

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.