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.