Con MariaDB INSERT INTO se insertan nuevos registros en una tabla existente. Es uno de los comandos SQL más importantes y se utiliza siempre que se quiere añadir nuevos contenidos a una base de datos o ampliar la informació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 estructura de datos existente. Cada vez que un usuario se registra, envía un formulario o crea un producto, el sistema ejecuta en segundo plano un INSERT INTO.

Al insertar datos, MariaDB verifica si los valores se corresponden con los tipos de datos de las columnas y si se han completado todos los campos obligatorios. Si los valores infringen restricciones como NOT NULL, UNIQUE o FOREIGN KEY, la base de datos rechaza la operación. Por ello, la estructura de la tabla de destino y la correcta especificación de las columnas desempeñan un papel fundamental 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 recomendable.
  • 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 contractual
  • Soporte experto 24/7

¿Qué parámetros y argumentos existen para INSERT INTO en MariaDB?

INSERT INTO se puede ampliar y adaptar según sea necesario. Aquí tienes los parámetros y variantes más importantes:

Lista de columnas

Puedes especificar todas las columnas o solo algunas. Si omites la lista, MariaDB espera valores para todas las columnas de la estructura de la tabla.

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

Si solo deseas rellenar columnas específicas, ejecuta el siguiente comando:

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

Aquí seleccionamos las columnas name y email.

Insertar varias filas

Esta variante es más eficiente que ejecutar múltiples comandos INSERT individuales en MariaDB, especialmente 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 restricciones 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 existentes 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 adicionales y permite combinar la lógica de inserción y actualización en un solo comando. Resulta muy útil en importaciones, sincronización de datos o procesos automatizados 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 continuación, te presentamos algunos escenarios 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 formulario web o de una aplicació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 formularios web habituales de registro, donde cada entrada se guarda directamente 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 correctamente.

Insertar datos desde otra tabla

Este ejemplo muestra cómo transferir datos existentes de una tabla (orders) a otra (archive_orders). MariaDB selecciona 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 depuración de datos o la generación de informes. Es importante asegurarse de que la estructura 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 gestionadas
Bases de datos seguras y fáciles de usar
  • Arquitectura de primera gestionada por expertos
  • Soluciones flexibles adaptadas a tus necesidades
  • Seguridad máxima en centros de datos con certificación ISO
¿Le ha resultado útil este artículo?
Ir al menú principal