4 - Tipos de datos básicos para definir los campos de una tabla

Ya explicamos que al crear una tabla debemos resolver qué campos (columnas) tendrá y que tipo de datos almacenará cada uno de ellos, es decir, su estructura.

El tipo de dato especifica el tipo de información que puede guardar un campo: caracteres, números, etc.

Estos son algunos tipos de datos básicos de SQLite:

  • text: se usa para almacenar cadenas de caracteres. Una cadena es una secuencia de caracteres. Se coloca entre comillas (simples); ejemplo: 'Hola', 'Juan Perez'. El tipo "text" define una cadena de longitud variable.

  • integer: se usa para guardar valores numéricos enteros. Definimos campos de este tipo cuando queremos representar, por ejemplo, cantidades.

  • real: se usa para almacenar valores numéricos con decimales. Se utiliza como separador el punto (.). Definimos campos de este tipo para precios, por ejemplo.

  • blob: se usa para almacenar valores en formato binario (imágenes, archivos de sonido etc.)

Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato adecuado para cada uno de ellos.
Por ejemplo, si en un campo almacenaremos números enteros, el tipo "real" sería una mala elección; si vamos a guardar precios, el tipo "real" es más adecuado, no así "integer" que no tiene decimales.

Problema resuelto

Vamos a crear una tabla llamada "libros":

 create table libros(
	titulo text,
	autor text,
	editorial text,
	precio real,
	cantidad integer
 );

Los tres primeros campos podemos cargar cualquier tipo de caracteres, en el campo precio podemos guardar valores con decimales y finalmente en el campo cantidad solo podemos guardar valores enteros.

Insertamos seguidamente 2 filas en la tabla libros:

  insert into libros (titulo,autor,editorial,precio,cantidad)
  values ('El aleph','Borges','Emece',25.50,100);
 insert into libros (titulo,autor,editorial,precio,cantidad)
  values ('Matematica estas ahi','Paenza','Siglo XXI',18.8,200);

Para mostrar todos los datos de la tabla utilizamos el comando SQL 'select'

 select * from libros;

Cuando se muestran todas las columnas es común utilizar el caracter '*' en lugar de enunciar todos los campos:

select titulo, autor, editorial, precio, cantidad from libros;

Cuando ejecutamos estos 4 comandos SQL tenemos como resultado:

SQLite Browser varios comandos SQL

Problema propuesto

  1. Una empresa desea almacenar los datos de sus empleados en una tabla "empleados" que guarde: nombre, documento, sexo, domicilio, sueldo básico.
    Elegir el tipo de dato para cada campo

  2. Ingresar 3 registros en la tabla.

  3. Mostrar todas las filas de la tabla.

Solución
create table empleados (
	nombre text,
	documento integer,
	sexo text,
	domicilio text,
	sueldobasico real
);

insert into empleados (nombre, documento, sexo, domicilio, sueldobasico)
  values ('Juan Perez',22333444,'m','Sarmiento 123',500.25);
insert into empleados (nombre, documento, sexo, domicilio, sueldobasico)
  values ('Ana Acosta','24555666','f','Colon 134',650);
insert into empleados (nombre, documento, sexo, domicilio, sueldobasico)
  values ('Bartolome Barrios','27888999','m','Urquiza 479',800);

select * from empleados;