Crear y manipular tablas con SQL

¿Ya sabes crear y borrar tablas en SQL? ¿Y crear columnas? Aquí otro de nuestros artículos para un aprendizaje rápido y directos al grano.

sql create consultas sql

Después de la introducción a las tablas en bases de datos, ahora toca empezar a crear tablas a base de, como decimos los programadores, “picar” sentencias SQL.

Te recomiendo que leas atentamente los puntos que a continuación te explico y pruebes los ejemplos expuestos, si lo haces, te aseguro que estarás creando tablas en unos minutos.

A continuación voy a explicarte:

  1. Cuál es la sentencia SQL para crear una tabla.
  2. Cómo eliminar una tabla con SQL.
  3. Cómo crear columnas para una tabla con lenguaje SQL.
  4. Cómo añadir columnas a una tabla ya creada.
  5. Cómo modificar una columna con la sentencia ALTER.

Crear tablas con sentencias SQL

Para crear tablas en SQL tenemos que utilizar el comando CREATE. Este comando, que permite crear distintos componentes en una base de datos, es también necesario para crear tablas.

La sentencia CREATE de SQL debe ir acompañada del tipo de elemento que vamos a crear, en este caso, será TABLE ( una tabla ). Por último, como tercer elemento, especificaremos el nombre de la tabla a crear.

Recuerda que, dentro de una misma base de datos, los nombres de las tablas no se pueden repetir, no pueden contener espacios ni caracteres especiales como acentos o guiones.

Dicho esto, vamos a ver un ejemplo para crear una tabla llamada Videojuego:

CREATE TABLE videojuego (
	
);

Observa el orden de los comandos y el nombre de la tabla como parámetro de configuración. Los paréntesis delimitan la configuración de sus columnas. En este ejemplo está vacío por que todavía no hemos abordado la creación de columnas en una tabla.

A modo de ejemplo, y para que puedas probar el comando en un SGBD como MySQL, te dejo la siguiente consulta que puedes probar tu mismo:

CREATE TABLE videojuego (
	id INT
)

Cómo eliminar una tabla en SQL

Ya que te he explicado cómo crear tablas con SQL, es totalmente necesario ver como eliminarlas y hacerlas desaparecer del mapa. Recuerda que toda su información será eliminada e imposible de recuperar ¡Así que ten cuidado cuando elimines tablas!

Para eliminar tablas de una base de datos con sentencias SQL utilizaremos el comando DROP, seguido del tipo de elemento a borrar, que en este caso es una tabla, y en sql TABLE, y el nombre de la tabla.

Allá va la consulta, simple y rápido:

DROP TABLE videojuego;

Bases para crear columnas de una tabla en lenguaje SQL

Crear columnas en una tabla es una tarea que siempre va de la mano de crear tablas, ya que para crear una columna siempre necesitamos una tabla que sirva como destino.

Podemos crear columnas en una tabla de dos formas distintas:

  • Definiéndolas a la vez que creamos una nueva tabla.
  • Añadiéndolas a una tabla ya creada.

Definir columnas SQL en la definición CREATE de una tabla

Para definir las columnas en la misma consulta de creación de una nueva tabla, deberemos hacerlo dentro de los paréntesis que van después del nombre de la tabla en cuestión. El nombre de la columna siempre deberá ir seguido del tipo de información que almacenará:

CREATE TABLE videojuego (
	id INT,
	nombre VARCHAR(30),
	productora VARCHAR(50),
	edad_recomendada INT,
	puntuacion_usuarios DECIMAL(3,2)
);

En este ejemplo de consulta SQL he definido 5 columnas con los siguientes tipos:

  • INT o valor numérico entero. Este tipo puede contener números enteros, es decir, números sin decimales.
  • VARCHAR(L). Este tipo se utiliza para cadenas de texto con una longitud máxima determinada ( L ).
  • DECIMAL(D,P). Para almacenar decimales podemos hacer uso del tipo DECIMAL configurando el número máximo de digitos ( D ) y el número de posiciones decimales detrás de la coma ( P ).

Existen muchos más tipos de valores para las columnas de una tabla, pero los más comunes son:

  • INT. Para enteros.
  • VARCHAR. Para cadenas de texto.
  • TEXT. Para textos muy largos.
  • DECIMAL. Para decimales con una determinada precisión.
  • DATE. Para almacenar fechas.
  • TIME. Para almacenar datos de hora.

No hay que tomarse a la ligera la definición de los tipos de datos de las columnas, ¿por qué?, pues porque gracias a una definición correcta de tipo, podremos, más tarde, decirle al sistema de base de datos que haga ciertas comparaciones especiales como: comparación de fechas, hora, decimales, etc.

Añadir columnas a una tabla existente

¡No te asustes si has creado una tabla y te has olvidado de añadir una o más columnas! Se pueden añadir más tarde sin ningún tipo de restricción y límite.

Para añadir una columna a una tabla existente, incluso si esta ya tenía información, tienes que utilizar el comando ALTER con el nombre de la tabla a modificar con la sentencia ADD seguido de la opción COLUMN, continuado del nombre de la nueva columna, su tipo, y cualquier otra configuración de la columna como su valor por defecto, restricciones o comprobaciones varias.

Ahora voy a añadir a la tabla videojuego una columna "sistema de codificación" para almacenar en cada registro, es decir, cada juego, si el juego es PAL o NTSC:

ALTER TABLE videojuego ADD COLUMN codificacion VARCHAR(4);

Como apunte decirte que he indicado 4 caracteres como máximo para esta columna, ya que sé que su máxima longitud será 4 debido a la palabra NTSC.

Por último, tener en cuenta que si la tabla ya hubiera tenido datos, debería especificar un valor por defecto para ella, ya que sino se produciría un error (el sistema no sabría con qué dato rellenar los valores de esa nueva columna). Por ejemplo, voy a especificar un valor por defecto ‘PAL’ para la columna "codificacion" para todos los videojuegos:

ALTER COLUMN videojuego ADD COLUMN codificacion VARCHAR(4) DEFAULT ‘PAL’;

Existen otros valores de configuración y restricciones pero los voy a dejar para otro artículo más completo y de nivel más avanzado. 

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.