9.7.3.2.- Crear una base de datos y tablas

El comando CREATE DATABASE nos permite crear una base de datos pasándole opcionalmente un nombre para esta:

create_database_prueba_test

Debemos recordar que para los nombres de las bases de datos sí se distingue entre mayúsculas y minúsculas, por lo que deberemos asegurarnos de crear el nombre de la base de datos utilizando el tipo de letra adecuado. Si escribimos SHOW DATABASES;veremos la base de datos que creamos en el paso anterior (texto) además de cualquiera que ya exista.

show_databases

Para empezar a utilizar una base de datos utilizaremos el comando USE:

use_prueba_test

Dentro de cada base de datos se deben crear las tablas a utilizar. El comando es similar al que se utiliza para crear y seleccionar bases de datos. En una base de datos recién creada no existen tablas:

show_tables

La respuesta empty set indica que la base de datos está vacía. Para empezar a introducir información en la base de datos, primero tendremos que decidir la estructura de la tabla. Para crear una tabla que incluya columnas para 5 atributos utilizaremos el comando CREATE TABLE pasándole varios detalles:

create_table_prueba_test

Este ejemplo crea una tabla de 5 columnas: name, color, size, hardness, value. Cada columna tiene un tipo de dato asociado, algunos aspectos a destacar de la definición de esta tabla son los siguientes:

  • Las columnas name y color son ejemplos de VARCHAR con tamaños diferentes: hasta 30 caracteres para name y hasta 20 caracteres para color. Si estuviesen definidas como CHAR name debería tener exactamente 30 caracteres y color exactamente 20 caracteres. Podemos especificar un conjunto limitado de colores utilizando ENUM en lugar de VARCHAR.
  • La columna size es un FLOAT que es menos preciso que un dato entero, aunque FLOAT puede contener números reales.
  • Hay que tener en cuenta la sintaxis para definir ENUM: la lista de valores como conjunto está rodeada por paréntesis () y cada valor enumerado esta encerrado entre comillas simples (‘  ‘) y separado de los demás valores por una coma ( , ).
  • El valor DECIMAL incluye una especificación del número de dígitos (10 en este ejemplo) y el número de dígitos que siguen a la coma decimal (2 en este ejemplo) separados por una coma (,).  Hay implementaciones que admiten el tipo de dato MONEY aunque no es el caso de MySQL. El tipo DECIMAL es mejor para la moneda que FLOAT ya que es probable que FLOAT introduzca errores de redondeo debido a cómo codifica los números.

Si necesitamos crear una tabla con otro tipo de valores, consultaremos la documentación de nuestra implementación SQL para ver qué tipo de datos admite. Es recomendable verificar que la tabla se ha creado correctamente, lo podemos hacer escribiendo DESCRIBE prueba_test;. El resultado debería ser un resumen de los campos de la tabla prueba_test.

describe_prueba_test