Vamos a repasar la sentencia de MySQL INSERT, su finalidad es la de insertar datos en las tablas de una base de datos.
Otras sentencias MySQL interesantes son:
Veamos las posibles sintaxis de esta sentencia extraída de su web oficial:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name,...)] [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name,...)] SET col_name={expr | DEFAULT}, ... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name,...)] [(col_name,...)] SELECT ... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]
Aunque las sintaxis mostradas pueden ser algo complicadas de entender vamos con unos sencillos ejemplos:
INSERT INTO usuarios (nombre, apellidos) VALUES ('Juan','Garcia Pérez');
En el código superior estamos insertando datos en la tabla usuarios, concretamente en las columnas nombre y apellidos.
INSERT INTO usuarios (nombre, apellidos) VALUES ('Juan','García Pérez'), ('Domingo', 'Sánchez Fernández');
Parecido ejemplo que el anterior pero insertando más de una fila.
La sentencia REPLACE INTO tiene una funcionalidad similar al INSERT pero al insertar evita la duplicidad de claves únicas. Más info: