Importar datos desde un archivo CSV en SQLite
La base de datos SQLite es un sistema de gestión de bases de datos o DBMS escrito en el lenguaje de programación C. Es un módulo que crea una base de datos basada en un solo archivo en un directorio específico y almacena todas las bases de datos y tablas dentro de ese único archivo.
Un esquema de base de datos se refiere a la representación lógica de una base de datos. En pocas palabras, se refiere a la estructura general de una base de datos.
Un esquema de tabla de base de datos se refiere a la estructura de una tabla; incluye detalles sobre los atributos, sus tipos, sus valores predeterminados, restricciones, etc.
Cuando se agregan algunos datos a una tabla, esos datos deben ir junto con las restricciones establecidas en los tipos de tabla y columna. Hay varias formas de cargar o agregar datos a una tabla SQLite, como manualmente usando el comando INSERTAR
, un ORM o alguna interfaz SQL en cualquier lenguaje de programación.
Este artículo nos enseñará cómo agregar datos a una base de datos SQLite usando archivos CSV.
Importar datos CSV a la tabla SQLite
Podemos importar datos de un archivo CSV a una tabla SQLite usando los siguientes comandos SQL.
.mode csv -- Setting the mode to CSV
.import data.csv my_table -- Importing the data to the specified table
.exit -- Exit from the CSV mode
El comando .mode csv
establece el modo de salida en CSV. El comando .import data.csv my_table
importa todos los datos del archivo data.csv
a una nueva tabla, my_table
.
Los nombres de columna presentes en la primera fila del archivo CSV se utilizarán como nombres de columna para la tabla creada. Por último, el comando .exit
sale del modo CSV.
En las nuevas versiones de SQLite, todos los comandos anteriores se pueden ejecutar de una sola vez.
.import test.csv my_table --csv
Si el archivo CSV no tiene nombres de columna en la primera fila, debemos crear manualmente una tabla SQLite y especificar el esquema que coincida con la estructura del archivo CSV.
Además, podemos importar los datos a esa tabla como de costumbre. El flujo de trabajo para esto será el mismo que se muestra a continuación.
create table my_table( ... ); -- Creating a new table
.mode csv -- Setting the mode to CSV
.import data.csv my_table -- Importing the data to the specified table
.exit -- Exit from the CSV mode