Inserción de datos en una BD mediante DML

Para insertar un conjunto de datos en una BD, existen múltiples herramientas para dicha operación. La selección de una de ellas frente a las otras depende de donde están almacenados los datos y como se quieren insertar
INSERT

La instrucción INSERT inserta los datos que se proporcionan en la propia instrucción. Es bastante útil si el número de datos es pequeño, pero cuando aumenta el número de datos a insertar, se puede volver muy tedioso.

Su estructura es

INSERT INTO [TABLA QUE ALMACENARÁ LOS DATOS] ([ATRIBUTOS DE LA TABLA]) VALUES ([VALORES A ALMACENAR EN LA TABLA])

El número de atributos en los que se quiere almacenar algun dato y el número de datos a insertar debe coincidir, así como el orden en el que se implementan en la instrucción y no violar las restricciones de los atributos

Ejemplo


Un caso erróneo sería que en FECHA_ESTRENO se intentaran insertar los valores '0000-00-00', puesto que viola la restricción del tipo DATE o 18430103, puesto que no cumple con el formato del tipo de atributo.

LOAD DATA INFILE

La lectura de los datos se realiza desde un fichero, evitando tener que insertar o indicar los datos a la instrucción de uno en uno.

Su estructura es:

LOAD DATA INFILE [Ruta del fichero que contiene los datos] INTO TABLE [Tabla de destino de los datos] FIELDS TERMINATED BY [Carácter que separa los atributos de un mismo dato. Ej. ;] LINES TERMINATED BY [Caracter que separa los datos entre sí. Ej /n/r (salto de linea)]

Ejemplo que refleja el caso de que no se introduzcan datos en todas las tablas


REPLACE

En el caso de que existan 2 datos a insertar con la misma clave primaria, INSERT descarta el segundo dato en cuestión. Pero si lo que se quiere es que el segundo dato reemplaze al primer dato, se utilizará la instrucción REPLACE (en el caso de no existir coincidencia en la clave primaria, REPLACE insertará el dato sin problema).

Ejemplo