CREATE TABLE en SQL

La sentencia CREATE TABLE en SQL es una sentencia utilizada para crear una nueva tabla en una base de datos. La sentencia se utiliza para especificar el nombre de la nueva tabla, así como los campos o columnas que tendrá, su tipo de datos y otras características como restricciones o índices. se puede utilizar con diferentes opciones y parámetros para crear tablas de acuerdo a las necesidades de una aplicación o base de datos.

La sintaxis básica de una sentencia CREATE TABLE en SQL es la siguiente,

CREATE TABLE [nombre de la tabla] (
    [columna1] [tipo de datos] [[restricciones]],
    [columna2] [tipo de datos] [[restricciones]],
    ...
)

¿Qué es una tabla en SQL?

Una tabla es un conjunto de campos y registros, que debe almacenar la información con la intención de no repetir datos y hacer que las búsquedas de datos sea rápida, manteniendo la integridad de los datos. Además, deben tener uno o varios campos identificativos únicos que identifiquen cada uno de los registros, esto es lo que denominamos clave primaria o primary key.

Estructura de una tabla

  • Registro. Estamos hablando de cada una de las filas que contiene una tabla. Esta compuesto por campos o atributos.
  • Campo. Es la unidad mínima de una tabla. Un conjunto de campos, da origen a una fila o registro.

Tipos de datos

A la hora de crear la tabla y sus columnas, es muy importante tener en cuenta el tipo de dato de que vamos a manejar en cada campo. Básicamente podremos elegir entre estos tipos de datos.

Tipos de datos básicos
  • VARCHAR (tamaño). Se utiliza para almacenar cadenas de texto de longitud variable. En general, la mayoría de las bases de datos permiten un tamaño máximo de 255 caracteres.
  • INT (tamaño opcional). Numérico, tanto negativo como positivo. En general, la mayoría de las bases de datos permiten un rango de valores entre -2147483648 y 2147483647 para este tipo de datos.
  • DATE. Se utiliza para almacenar fechas y horas en la base de datos.  Fecha en el formato YYYY-MM-DD

Tras estos tres tipos básicos, tenemos otros que podemos utilizar en los campos de las tablas a la hora de crearlas.

Otros tipos de datos

  • BOOLEAN. Se utiliza para almacenar valores lógicos, es decir, valores que pueden ser verdaderos (TRUE) o falsos (FALSE).
  • FLOAT (tamaño, d). Se utiliza para almacenar valores de punto flotante. Este tipo de datos es muy útil para almacenar números con decimales (d).
  • DATETIME. Se utiliza para almacenar valores que contienen tanto una fecha como una hora, YYYY-MM-DD hh:mm:ss.
  • TIME. Se utiliza para almacenar valores que contienen solo una hora, hh:mm:ss.

Opcionalmente, después del tipo de campo de la tabla, podemos añadir propiedades extra.

Parámetros campos de una tabla

  • NOT NULL. No se permite en ese campo un valor nulo. Es decir, siempre debe tener un valor.
  • Primary Key. El campo será la clave primaria de la tabla.
  • UNIQUE. Sólo tendrá valores únicos este campo.
  • Default. Valor por defecto que tendrá el campo, si el mismo viene vacío.

La sintaxis CREATE TABLE … SELECT nos permite crear tablas de manera rápida y sencilla a partir de los resultados de una consulta SELECT. Esto es útil cuando queremos crear una tabla con un conjunto de datos específico a partir de otra tabla o consulta.

La sintaxis sería la siguiente.
CREATE TABLE nombre_tabla1
( select columna1, columna2... from nombre_tabla2
);

A la hora de crearla, debemos tener en cuenta que la sentencia SELECT en SQL puede ser tan compleja como queramos. Incluyendo todos las condiciones que necesitemos a la hora de crear nuestra tabla.

Por ejemplo, si queremos crear una nueva tabla llamada «clientes_mayores» que contenga solo los clientes mayores de edad de la tabla «clientes», podríamos utilizar el siguiente comando,

CREATE TABLE clientes_mayores AS
SELECT nombre, edad
FROM clientes
WHERE edad >= 18;

En este ejemplo, estamos creando una nueva tabla llamada «clientes_mayores» que contiene dos columnas: «nombre» y «edad». La tabla se crea en base a los resultados de la consulta SELECT que se ejecuta sobre la tabla «clientes». La consulta selecciona solo los registros que cumplen con la condición «edad >= 18», lo que nos permite obtener solo los clientes mayores de edad.

Una vez creada esta tabla, podemos consultarla utilizando el comando SELECT.

Primary Key

La restricción PRIMARY KEY se utiliza para especificar una columna o un conjunto de columnas que forman una clave principal en una tabla. Una clave principal es un conjunto de uno o más campos que identifican de manera única cada fila de una tabla. Cuando se agrega una restricción PRIMARY KEY, el motor de base de datos también crea automáticamente un índice en la columna o conjunto de columnas especificado, lo que mejora el rendimiento de las operaciones que verifican la integridad de los datos.

Unique

Las restricciones UNIQUE se utilizan para garantizar que cada fila de una tabla tenga valores únicos en una o más columnas. Por ejemplo, si desea garantizar que no se ingresen dos filas con el mismo nombre en una tabla, puede agregar una restricción UNIQUE a la columna «nombre». Cuando se agrega una restricción UNIQUE, el motor de base de datos crea automáticamente un índice en la columna especificada, lo que mejora el rendimiento de las operaciones que verifican la integridad de los datos.

Foreing Key

La FOREING KEY es una columna o conjunto de columnas en una tabla que se refiere a la clave principal de otra tabla. Esta relación entre dos tablas se conoce como integridad referencial. La clave externa se utiliza para garantizar la integridad de los datos al impedir que se ingresen datos que no existen en la tabla a la que se refiere.

☑️ Programar en SQL