SQL CREATE TABLE: cómo crear una nueva tabla

SQL CREATE TABLE se utiliza para crear una nueva tabla. Ésta debe ser única dentro de la base de datos. Los parámetros importantes ya están definidos cuando se crea la tabla y es posible utilizar una tabla existente como base.

¿Qué es SQL CREATE TABLE?

Una vez hayas creado una base de datos SQL utilizando el Structured Query Language, podrás crear una nueva tabla. Ésta se utiliza para almacenar tus registros de datos y especifica la estructura en la que se prepararán estos datos. Las tablas constan de campos o columnas que pueden contener determinados tipos de datos y filas en las que se listan estos datos. Para crear una nueva tabla, utiliza la sentencia SQL CREATE TABLE. Ésta no solo creará la nueva tabla, sino que también determinará cómo debe estructurarse. A continuación, se rellena con los datos correspondientes.

Servidores virtuales VPS
Virtualización completa con acceso root
  • Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
  • Almacenamiento SSD NVMe ultrarrápido
  • Incluye: edición Plesk Web Host

Sintaxis y funcionalidad

Solo con mirar la sintaxis de SQL CREATE TABLE, se puede ver que los tipos de datos y los nombres son obligatorios para la correcta creación de una nueva tabla. La sintaxis es la siguiente:

CREATE TABLE nombre_de_la_tabla ( 
columna1 tipo de datos, 
columna2 tipo de datos, 
columna3 tipo de datos, 
… 
);
sql

Con el comando SQL CREATE TABLE puedes crear una nueva tabla, cuyo nombre se especificará en la primera línea. Dentro de los paréntesis, se detallan las columnas de la tabla. Debes asignar un nombre a columna1, columna2, etc., y especificar qué tipo de datos se pueden almacenar en cada columna. Los tipos de datos comúnmente utilizados son, por ejemplo, VARCHAR (una cadena que puede contener letras, números o caracteres especiales), BOOLEAN (para valores booleanos true o false), INT (para valores numéricos) o DATE (para fechas).

Ejemplo de nueva tabla

Para ilustrar cómo funciona SQL CREATE TABLE, utilizaremos un ejemplo sencillo que muestra el aspecto que podría tener una tabla de este tipo. Para ello, creamos un directorio de empleados que contiene un ID de empleado, apellido, nombre, dirección, ciudad y edad. Por tanto, necesitamos un total de seis columnas que puedan almacenar distintos tipos de datos. El código apropiado sería el siguiente:

CREATE TABLE Empleados ( 
ID INT NOT NULL, 
Apellido VARCHAR(50), 
Nombre VARCHAR(50), 
Dirección VARCHAR(50), 
Ciudad VARCHAR(50), 
Edad INT NOT NULL 
);
sql

Para el ID y la edad, seleccionamos el tipo de datos INT, que contiene números. La adición NOT NULL especifica que estos campos no deben dejarse en blanco. El resto de columnas Apellido, Nombre, Dirección y Ciudad pueden contener letras, números y caracteres especiales.

Combinación con el comando IF NOT EXISTS

Cada tabla debe ser única dentro de una base de datos para que el sistema pueda acceder a ella. Así que si intentas crear una nueva tabla con SQL CREATE TABLE y eliges un nombre que ya ha sido asignado, recibirás un mensaje de error como Error: table already exists. Para evitar esto, puedes añadir el comando opcional IF NOT EXISTS. Este comando comprueba primero si ya existe una tabla con el mismo nombre. Solo si no es el caso, puedes crear una nueva tabla con los parámetros almacenados. Para nuestro ejemplo, se haría de esta forma:

CREATE TABLE IF NOT EXISTS Empleados ( 
ID INT NOT NULL, 
Apellido VARCHAR(50), 
Nombre VARCHAR(50), 
Dirección VARCHAR(50), 
Ciudad VARCHAR(50), 
Edad INT NOT NULL 
);
sql

Crear una nueva tabla a partir de una tabla existente

Aunque la sentencia funciona de forma bastante sencilla, puede resultar tediosa si tienes que crear varias tablas similares. Por ello, SQL CREATE DATABASE también te ofrece la opción de utilizar una tabla existente para crear una nueva. Puedes elegir si quieres crear una copia exacta o solo tener en cuenta ciertos parámetros. Te mostraremos ambos procedimientos. En el primer caso, creamos una lista de empleados para otra sucursal. Por lo tanto, ésta debe configurarse de forma idéntica, pero requiere un nuevo nombre. Este sería el código:

CREATE TABLE Nueva_lista_de_empleados 
AS 
SELECT * 
FROM Empleados;
sql

El asterisco indica al sistema que debe aceptar todas las columnas.

En el siguiente ejemplo, creamos una lista de clientes. Ésta debe contener también las columnas de ID, apellidos, nombre, dirección y ciudad, pero no debe crearse la fecha de nacimiento. Por tanto, especificamos exactamente qué columnas deben copiarse.

CREATE TABLE Lista_de_clientes 
AS 
SELECT ID, Apellido, Nombre, Dirección, Ciudad 
FROM Empleados;
sql

Comandos parecidos a SQL CREATE TABLE

Además de la ya mencionada CREATE DATABASE, hay otras sentencias que son importantes para trabajar con SQL CREATE TABLE. Estas incluyen SQL DELETE, que se usa para borrar entradas de una tabla, y SQL Aliases, que se usa para renombrar temporalmente tablas o columnas.

Consejo

Consigue tu propio servidor: con el Hosting SQL Server de IONOS, no solo podrás elegir entre MSSQL, MySQL y MariaDB, sino que también te beneficiarás de numerosas funciones útiles. Encuentra la solución que mejor se adapte a tus necesidades.

¿Le ha resultado útil este artículo?
Page top