Con MariaDB INSERT INTO se insertan nuevos registros en una tabla existente. Es uno de los comandos SQL más im­po­r­ta­n­tes y se utiliza siempre que se quiere añadir nuevos co­n­te­ni­dos a una base de datos o ampliar la in­fo­r­ma­ción existente.

¿Qué es el comando MariaDB INSERT?

El comando INSERT en MariaDB inserta nuevos datos en una tabla. Lo hace añadiendo filas completas a la es­tru­c­tu­ra de datos existente. Cada vez que un usuario se registra, envía un fo­r­mu­la­rio o crea un producto, el sistema ejecuta en segundo plano un INSERT INTO.

Al insertar datos, MariaDB verifica si los valores se co­rre­s­po­n­den con los tipos de datos de las columnas y si se han co­m­ple­ta­do todos los campos obli­ga­to­rios. Si los valores infringen re­s­tri­c­cio­nes como NOT NULL, UNIQUE o FOREIGN KEY, la base de datos rechaza la operación. Por ello, la es­tru­c­tu­ra de la tabla de destino y la correcta es­pe­ci­fi­ca­ción de las columnas de­sem­pe­ñan un papel fu­n­da­me­n­tal al utilizar INSERT.

¿Cómo es el comando INSERT INTO en MariaDB?

La sintaxis estándar de INSERT INTO es la siguiente:

INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);
sql
  • table_name indica la tabla en la que se van a insertar los datos.
  • La lista de columnas (column1, column2, ...) es opcional, pero re­co­me­n­da­ble.
  • La parte VALUES contiene los valores que deseas insertar en las columnas indicadas.

MariaDB inserta los valores en el orden en que se definen las columnas. Si la cantidad o el orden de los valores no coincide con la lista de columnas, se producirá un error.

Compute Engine
La solución IaaS ideal para tus cargas de trabajo
  • vCPU económico con núcleos dedicados
  • Flexible y sin periodo mínimo co­n­tra­c­tual
  • Soporte experto 24/7

¿Qué pa­rá­me­tros y ar­gu­me­n­tos existen para INSERT INTO en MariaDB?

INSERT INTO se puede ampliar y adaptar según sea necesario. Aquí tienes los pa­rá­me­tros y variantes más im­po­r­ta­n­tes:

Lista de columnas

Puedes es­pe­ci­fi­car todas las columnas o solo algunas. Si omites la lista, MariaDB espera valores para todas las columnas de la es­tru­c­tu­ra de la tabla.

INSERT INTO users VALUES (1, 'Ana', 'ana@example.com');
sql

Si solo deseas rellenar columnas es­pe­cí­fi­cas, ejecuta el siguiente comando:

INSERT INTO users (name, email) VALUES ('Ana', 'ana@example.com');
sql

Aquí se­le­c­cio­na­mos las columnas name y email.

Insertar varias filas

Esta variante es más eficiente que ejecutar múltiples comandos INSERT in­di­vi­dua­les en MariaDB, es­pe­cia­l­me­n­te con grandes volúmenes de datos:

INSERT INTO products (name, price)
VALUES ('pen', 1.50),
    ('notepad', 2.00),
    ('bag', 9.90);
sql

INSERT IGNORE

Con IGNORE, MariaDB omite las filas que violan re­s­tri­c­cio­nes y continúa con las demás.

INSERT IGNORE INTO users (id, name) VALUES (1, 'Ana');
sql

INSERT ... ON DUPLICATE KEY UPDATE

Esta expresión actualiza filas exi­s­te­n­tes cuando ocurre un conflicto de clave única.

INSERT INTO users (id, name)
VALUES (1, 'Ana')
ON DUPLICATE KEY UPDATE name = 'Ana';
sql

Esta técnica evita consultas adi­cio­na­les y permite combinar la lógica de inserción y ac­tua­li­za­ción en un solo comando. Resulta muy útil en im­po­r­ta­cio­nes, si­n­cro­ni­za­ción de datos o procesos au­to­ma­ti­za­dos de registro.

Insertar con SELECT

Con SELECT puedes copiar datos de una tabla a otra:

INSERT INTO archive_orders (id, status)
SELECT id, status FROM orders WHERE status = 'completed';
sql

Ejemplos de uso de MariaDB INSERT INTO

A co­n­ti­nua­ción, te pre­se­n­ta­mos algunos es­ce­na­rios comunes para usar INSERT INTO.

Registrar un usuario

En el siguiente ejemplo, MariaDB inserta un nuevo usuario en la tabla users. Los valores para las columnas name y email provienen de un fo­r­mu­la­rio web o de una apli­ca­ción. El valor NOW() obtiene la marca de tiempo actual, es decir, el momento del registro.

INSERT INTO users (name, email, created_at)
VALUES ('Elena', 'elena@example.com', NOW());
sql

Este método resulta adecuado para fo­r­mu­la­rios web ha­bi­tua­les de registro, donde cada entrada se guarda di­re­c­ta­me­n­te en la base de datos. Conviene que la columna created_at esté definida como DATETIME o TIMESTAMP para que el valor de NOW() se almacene co­rre­c­ta­me­n­te.

Insertar datos desde otra tabla

Este ejemplo muestra cómo tra­n­s­fe­rir datos exi­s­te­n­tes de una tabla (orders) a otra (archive_orders). MariaDB se­le­c­cio­na todos los pedidos cuyo estado sea 'completed' y copia las columnas id y status.

INSERT INTO archive_orders (id, status)
SELECT id, status FROM orders WHERE status = 'completed';
sql

Este tipo de comandos se utiliza en procesos como el archivado, la de­pu­ra­ción de datos o la ge­ne­ra­ción de informes. Es im­po­r­ta­n­te ase­gu­rar­se de que la es­tru­c­tu­ra de las columnas, incluidos los tipos de datos, coincida entre la tabla de origen y la de destino; de lo contrario, MariaDB no ejecutará el comando.

Bases de datos ge­s­tio­na­das
Bases de datos seguras y fáciles de usar
  • Ar­qui­te­c­tu­ra de primera ge­s­tio­na­da por expertos
  • So­lu­cio­nes flexibles adaptadas a tus ne­ce­si­da­des
  • Seguridad máxima en centros de datos con ce­r­ti­fi­ca­ción ISO
Ir al menú principal