Come faccio a importare file .sql in SQLite 3?


98

Ho file .sql che hanno il seguente contenuto:

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

Come faccio a importare questo file in SQLite in modo che vengano creati automaticamente?


sqlite3 DB.db <db.sql Errore: SQL incompleto: crea table server (nome varchar (50), ipaddress varchar (15), id init) crea tabella client (nome varchar (50), ipaddress varchar (15), id init ) cosa significa questo errore? Ho provato entrambi i metodi> .read db.sql e sqlite3 DB.db <db.sql
webminal.org

Risposte:


164

Da un prompt di sqlite:

sqlite> .read db.sql

O:

cat db.sql | sqlite3 database.db

Inoltre, il tuo SQL non è valido: ;alla fine delle tue istruzioni è necessario:

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 Errore: SQL incompleto: crea table server (nome varchar (50), ipaddress varchar (15), id init) crea tabella client (nome varchar (50), ipaddress varchar (15), id init ) cosa significa questo errore? Ho provato entrambi i metodi> .read db.sql e sqlite3 DB.db <db.sql ... Grazie
webminal.org

1
grazie Funziona ora. Mi sono perso; e includeva caratteri non validi come "-". Adesso va bene, grazie !!!
webminal.org

@lakshmipathi, se funziona puoi contrassegnare come accettata una delle due risposte che hanno risposto alla tua domanda facendo clic sul segno di spunta sotto il conteggio dei voti accanto alla risposta.
Dominic Rodger

59

Usa sqlite3 database.sqlite3 < db.sql. Dovrai assicurarti che i tuoi file contengano SQL valido per SQLite.


Anch'io (sintassi della riga di comando di Windows). Grazie. Certo è lento, però.
Barton

2
Sono impaziente di costruire da un file .sql di 40 + Mb, terminato sqlite3 database.sqlite3 <db.sql in favore di sqlite> .read db.sql. L'alternativa è altrettanto lenta, si scopre.
Barton

18

In alternativa, puoi farlo da un prompt della riga di comando / file batch di Windows:

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

Dove DB.db è il file di database e db.sql è il file SQL da eseguire / importare.


questo ha funzionato per me, anche se ho eseguito sqlite3 come comando nel terminale, quindi:sqlite3 DB.db ".read db.sql"
Bugbeeb

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.