SQLite

De Astillas.net
Versión
3.7.3
Página principal
https://www.sqlite.org/
Observaciones
Base de datos relacional en un único archivo


Enlaces y referencias

Errores

datatype mismatch

El código de error 20 aparece cuando se intenta asignar a una columna tipo rowid o una clave primaria de tipo entero -en inserción o actualización de datos- un valor de tipo blob, texto o número real que no puede ser convertido sin pérdida.

Para detectarlo sin dudas conviene utilizar el nivel de trazado 2 del módulo DBI:

use DBI;
...
DBI->trace(2);

Recetario

Volcado de datos

El programa sqlite3 acepta un nombre de base de datos y un conjunto de órdenes SQL en la invocación, aunque también dispone de un pequeño shell interactivo:

$ sqlite3 esferas 
SQLite version 3.7.3
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
dc_blog         dc_log          dc_ping         dc_setting    
dc_category     dc_media        dc_post         dc_spamrule   
dc_comment      dc_meta         dc_post_media   dc_user       
dc_link         dc_permissions  dc_session      dc_version    
sqlite> 

Para volcar datos se pueden seleccionar tres aspectos:

  1. Formato de volcado empleando la orden .mode
  2. Lugar donde volcar los datos con .output
  3. Volcar toda la base de datos o sólo alguna tabla con .dump

Carga de datos

La operación de carga de datos puede realizarse de varias maneras dependiendo del formato de dichos datos.

Formato Tipo de carga Observaciones
SQL
  • sqlite> .read archivo.sql
  • cat archivo.sql
CSV
sqlite> .mode csv nombre_de_tabla
sqlite> .import archivo.csv nombre_de_tabla

La carga de un archivo en formato CSV sólo puede aplicarse a una tabla individual.