2010-01-12 14 views
64

he archivos .sql que tienen el siguiente contenido:¿Cómo importo archivos .sql en SQLite 3?

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

¿Cómo puedo importar este archivo en SQLite para que éstos se crean automáticamente?

+0

sqlite3 DB.db .read db.sql y sqlite3 DB.db

+0

@lakshmipathi, ver mi edición. –

Respuesta

112

Desde un indicador de SQLite:

sqlite> .read db.sql 

O:

cat db.sql | sqlite3 database.db 

Además, su SQL no es válido - se necesita ; en el extremo de sus declaraciones:

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

sqlite3 DB.db .read db.sql y sqlite3 DB.db

+1

gracias Está funcionando ahora. Me perdí; e incluyó caracteres inválidos como "-". Ahora está bien. ¡Gracias! –

+0

@lakshmipathi, si funciona puede marcar una de las dos respuestas que respondieron a su pregunta como aceptada haciendo clic en el tick debajo del conteo de votos al lado de la respuesta. –

44

Use sqlite3 database.sqlite3 < db.sql. Deberá asegurarse de que sus archivos contengan SQL válido para SQLite.

+0

gracias Eifion !! para tu alma también funciona bien. –

+0

Yo también (sintaxis de línea de comandos de Windows). Gracias. Claro que es lento, sin embargo. – Barton

+1

Me impacienté construir desde un archivo de 40 + Mb .sql, terminé sqlite3 database.sqlite3 .read db.sql. La alternativa es tan lenta, resulta. – Barton

6

Alternativamente , puede hacerlo desde un indicador de línea de comandos/archivo por lotes de Windows:

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

Dónde DB.db es el archivo de base de datos y db.sql es el archivo SQL para ejecutar/importación.

8

También puede hacer:

sqlite3 database.db -init dump.sql