CREATE TABLE te permite crear nuevas tablas en MariaDB. Cada tabla es única dentro de su base de datos, por lo que existen las cláusulas OR REPLACE y IF NOT EXISTS para evitar du­pli­ca­cio­nes y mensajes de error.

¿Qué es CREATE TABLE en MariaDB?

Utiliza la sentencia CREATE TABLE de MariaDB para crear una nueva tabla, que luego puedes llenar con datos. Como MariaDB es un sistema de gestión de bases de datos re­la­cio­nal (DBMS), las tablas sirven como base para todas las ope­ra­cio­nes de al­ma­ce­na­mie­n­to. Al crear una tabla, defines cada una de las columnas y, en pa­r­ti­cu­lar, los tipos de datos que se pueden utilizar en ellas. Cada tabla debe ser única dentro de tu base de datos, por lo que aparece un mensaje de error si utilizas MariaDB CREATE DATABASE y ya existe una tabla con el mismo nombre. En los si­guie­n­tes apartados te ex­pli­ca­mos cómo utilizar CREATE TABLE en MariaDB y qué cláusulas puedes utilizar.

Sintaxis y fu­n­cio­na­mie­n­to

La sintaxis general de CREATE TABLE en MariaDB es la siguiente:

CREATE TABLE Nombre_de_la_tabla(
	Nombre_de_la_primera_columna Tipo_de_dato_de_la_primera_columna,
	Nombre_de_la_segunda_columna Tipo_de_dato_de_la_segunda_columna,
	…
);
sql

Las tablas nuevas en MariaDB se crean con la sentencia CREATE TABLE. Debes asi­g­nar­les un nombre único en el lugar donde aparece el marcador de posición “Nombre_de_la_tabla”. Puedes utilizar todos los ca­ra­c­te­res del código ASCII. A co­n­ti­nua­ción, puedes definir cada columna in­di­vi­dua­l­me­n­te, asi­g­ná­n­do­le su propio nombre y el tipo de datos que pueden al­ma­ce­nar­se en esa columna. Debes separar todas las columnas con comas.

OR REPLACE y IF NOT EXISTS

Como las tablas deben ser únicas, recibirás un mensaje de error si ya existe una tabla con el mismo nombre. Tienes dos formas de evitar dicho problema: la cláusula OR REPLACE comprueba si ya existe una tabla con el mismo nombre en la base de datos. Si existe, la tabla antigua se sustituye por la nueva. Si no existe, se crea la nueva tabla. La sintaxis es la siguiente:

CREATE OR REPLACE TABLE Nombre_de_la_tabla(
	Nombre_de_la_primera_columna Tipo_de_dato_de_la_primera_columna,
	Nombre_de_la_segunda_columna Tipo_de_dato_de_la_segunda_columna,
	…
);
sql

Ten en cuenta que la tabla antigua se so­bre­s­cri­bi­rá y, por lo tanto, se perderá todo su contenido. El comando anterior tiene obtiene el mismo resultado que este código más largo:

DROP TABLE IF EXISTS Nombre_de_la_tabla;
CREATE TABLE Nombre_de_la_tabla(
	Nombre_de_la_primera_columna Tipo_de_dato_de_la_primera_columna,
	Nombre_de_la_segunda_columna Tipo_de_dato_de_la_segunda_columna,
	…
);
sql

La segunda forma de evitar du­pli­ci­da­des y los co­n­si­guie­n­tes mensajes de error es la cláusula IF NOT EXISTS. Es una cláusula que comprueba si ya existe una tabla con el mismo nombre en la base de datos. Si existe, recibirás un aviso y no se so­bre­s­cri­bi­rá ninguna tabla. Si no existe ninguna tabla con ese nombre, se creará una nueva. La sintaxis co­rre­s­po­n­die­n­te es la siguiente:

CREATE TABLE IF NOT EXISTS Nombre_de_la_tabla(
	Nombre_de_la_primera_columna Tipo_de_dato_de_la_primera_columna,
	Nombre_de_la_segunda_columna Tipo_de_dato_de_la_segunda_columna,
	…
);
sql

Ejemplo de CREATE TABLE en MariaDB

La forma más sencilla de ilustrar el fu­n­cio­na­mie­n­to de CREATE TABLE en MariaDB es mediante un pequeño ejemplo. En él, se crea una tabla para una lista de proyectos ficticia con un total de ocho columnas. Tiene el siguiente aspecto:

CREATE TABLE Proyectos(
	numero_proyecto INT AUTO_INCREMENT,
	apellido VARCHAR(50) NOT NULL,
	nombre VARCHAR(50),
	inicio DATE,
	fin DATE,
	coste DOUBLE,
	tareas VARCHAR(255) NOT NULL,
	created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
	PRIMARY KEY (numero_proyecto)
);
sql

En el primer paso, se crea una nueva tabla llamada “Proyectos”. En las si­guie­n­tes líneas se es­pe­ci­fi­can las columnas in­di­vi­dua­les:

  • numero_proyecto: en esta columna se asigna un número in­di­vi­dual a cada proyecto. Se trata de un número de re­fe­re­n­cia que sirve para ide­n­ti­fi­car cada línea in­di­vi­dual. Con AUTO_INCREMENT se indica al programa que vaya au­me­n­ta­n­do au­to­má­ti­ca­me­n­te el número de “numero_proyecto” con el fin de ga­ra­n­ti­zar una secuencia uniforme.
  • apellido: en esta columna se introduce el apellido del cliente, puede contener una secuencia de hasta 50 ca­ra­c­te­res. Se utiliza NOT NULL para es­pe­ci­fi­car que una columna no puede quedar vacía.
  • nombre: la columna “nombre” es muy similar a la columna anterior. Sin embargo, como el nombre no es im­pre­s­ci­n­di­ble para la fa­c­tu­ra­ción, esta columna sí puede quedarse vacía, por lo que no se introduce la cláusula NOT NULL.
  • inicio: esta columna contiene la fecha de inicio de un proyecto en curso. Admite valores de fecha en el formato de fecha es­ta­ble­ci­do o el valor nulo.
  • fin: la columna “fin” describe la fecha límite o la fi­na­li­za­ción efectiva de un proyecto. Sus valores también pueden tener el formato DATE o NULL.
  • coste: la columna “costes” contiene el importe de la factura. Se almacena en el formato DOBLE.
  • tareas: la columna “tareas” ofrece un espacio para describir bre­ve­me­n­te los servicios prestados durante el proyecto. La columna tiene espacio para un máximo de 255 ca­ra­c­te­res y no debe quedar en blanco.
  • created_at: la fecha de creación del proyecto co­rre­s­po­n­die­n­te se almacena en la última columna. Obtiene la fecha y la hora di­re­c­ta­me­n­te del sistema.
Consejo

En nuestra Digital Guide puedes aprender todo lo que necesitas saber sobre MariaDB. Por ejemplo, te ex­pli­ca­mos cómo utilizar el comando MariaDB CREATE USER. También puedes encontrar una co­m­pa­ra­ción detallada entre MariaDB y MySQL y todo lo que necesitas saber para instalar MariaDB.

Ir al menú principal