SQLite nos brinda la capacidad de ejecutar scripts directamente desde un archivo. Esto puede ser especialmente útil cuando tiene un script grande (como crear un montón de tablas de base de datos e insertar datos en esas tablas).
A continuación se presentan cinco formas de ejecutar secuencias de comandos SQL directamente desde un archivo en SQLite.
El comando del gato
El siguiente código demuestra la primera opción para ejecutar un script SQL desde un archivo en SQLite.
cat create_table.sql | sqlite3 Test.db
Esto supone que mi script se llama create_table.sql y quiero ejecutarlo contra Test.db base de datos.
Pude ejecutar este script directamente desde mi ventana de Terminal, sin conectarme a SQLite usando SQLite3
comando.
El comando .read
Si ya está conectado a SQLite, puede usar .read
comando.
.read insert_data.sql
Este ejemplo lee el script insert_data.sql de la carpeta/directorio actual. Especifique la ruta completa si se encuentra en un directorio diferente.
Utilice el comando .read sin abrir SQLite
Aquí hay otra forma de usar .read
comando.
sqlite3 Test.db ".read insert_data.sql"
Al hacer esto, se insertarán los datos en la base de datos especificada desde la línea de comandos.
La diferencia entre este ejemplo y el anterior es que el anterior se realizó desde SQLite después de que ya se había conectado. Sin embargo, con este ejemplo, lo ejecuta desde fuera de SQLite.
Si está en Windows, es posible que deba hacer esto:
sqlite3.exe Test.db ".read insert_data.sql"
Redirigir la entrada a la base de datos al conectarse a SQLite
El siguiente método redirige la entrada al archivo de la base de datos cuando se usa sqlite3
para conectarse a SQLite y abrir la base de datos.
sqlite3 Test.db < insert_data.sql
La opción -init
Esta es otra forma de ejecutar secuencias de comandos SQL desde un archivo con SQLite.
sqlite3 Test.db -init insert_data.sql