SQL CREATE TABLE se utiliza para crear una nueva tabla. Ésta debe ser única dentro de la base de datos. Los pa­rá­me­tros im­po­r­ta­n­tes 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 uti­li­za­n­do el Stru­c­tu­red Query Language, podrás crear una nueva tabla. Ésta se utiliza para almacenar tus registros de datos y es­pe­ci­fi­ca la es­tru­c­tu­ra en la que se pre­pa­ra­rán estos datos. Las tablas constan de campos o columnas que pueden contener de­te­r­mi­na­dos 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 de­te­r­mi­na­rá cómo debe es­tru­c­tu­rar­se. A co­n­ti­nua­ción, se rellena con los datos co­rre­s­po­n­die­n­tes.

Se­r­vi­do­res virtuales (VPS)
VPS rentables en se­r­vi­do­res Dell En­te­r­pri­se
  • 1 Gb/s de ancho de banda y tráfico ilimitado
  • 99,99 % de tiempo de actividad y ce­r­ti­fi­ca­ción ISO
  • Soporte 24/7 ga­la­r­do­na­do y asesor personal

Sintaxis y fu­n­cio­na­li­dad

Solo con mirar la sintaxis de SQL CREATE TABLE, se puede ver que los tipos de datos y los nombres son obli­ga­to­rios 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 es­pe­ci­fi­ca­rá en la primera línea. Dentro de los pa­ré­n­te­sis, se detallan las columnas de la tabla. Debes asignar un nombre a columna1, columna2, etc., y es­pe­ci­fi­car qué tipo de datos se pueden almacenar en cada columna. Los tipos de datos co­mú­n­me­n­te uti­li­za­dos son, por ejemplo, VARCHAR (una cadena que puede contener letras, números o ca­ra­c­te­res es­pe­cia­les), 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, uti­li­za­re­mos un ejemplo sencillo que muestra el aspecto que podría tener una tabla de este tipo. Para ello, creamos un di­re­c­to­rio de empleados que contiene un ID de empleado, apellido, nombre, dirección, ciudad y edad. Por tanto, ne­ce­si­ta­mos 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, se­le­c­cio­na­mos el tipo de datos INT, que contiene números. La adición NOT NULL es­pe­ci­fi­ca que estos campos no deben dejarse en blanco. El resto de columnas Apellido, Nombre, Dirección y Ciudad pueden contener letras, números y ca­ra­c­te­res es­pe­cia­les.

Co­m­bi­na­ció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 pa­rá­me­tros al­ma­ce­na­dos. 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 pa­rá­me­tros. Te mo­s­tra­re­mos ambos pro­ce­di­mie­n­tos. En el primer caso, creamos una lista de empleados para otra sucursal. Por lo tanto, ésta debe co­n­fi­gu­rar­se 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 na­ci­mie­n­to. Por tanto, es­pe­ci­fi­ca­mos exac­ta­me­n­te 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 me­n­cio­na­da CREATE DATABASE, hay otras se­n­te­n­cias que son im­po­r­ta­n­tes 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 te­m­po­ra­l­me­n­te 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 be­ne­fi­cia­rás de numerosas funciones útiles. Encuentra la solución que mejor se adapte a tus ne­ce­si­da­des.

Ir al menú principal