El fragmento esencial anterior muestra las declaraciones de datos de carga genéricas. Todas las opciones disponibles se mencionan en el código anterior.

Centrémonos ahora en un ejemplo sencillo de simplemente leer un archivo .csv e insertar sus filas en una tabla compatible.

Un ejemplo sencillo :

LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table

Un ejemplo a vista de pájaro con todas las opciones esenciales:

¿No hace falta decir que su archivo CSV debe tener el formato adecuado para que esta declaración funcione?.

Y listo, usando la declaración anterior, su .csv con más de 100 mil filas se importará a su tabla en segundos.

Ahora, algunas cosas importantes a tener en cuenta:

La declaración anterior se ejecuta en el nivel MySql, por lo tanto, los archivos fuente se copian del cliente al servidor para poder importarlos.
Esto plantea algunos problemas de seguridad, debemos asegurarnos de que la conexión cliente-servidor esté segura mientras usamos este código.

En MySql 8.0, la capacidad de usar LOCAL está configurada como False de forma predeterminada. Como su servidor y cliente deben estar configurados para permitir LOCAL, es posible que algunos de ustedes obtengan un error de permiso.

En caso de error de permiso, debemos anularlo habilitando el local_infile:

SET GLOBAL local_infile = true;

Nota: Anular esta bandera no es una solución de seguridad sino más bien un reconocimiento por aceptar los riesgos; puede consultar esta documentación para obtener más información.

?‍? Conclusión

La instrucción LOAD DATA de MySql se utiliza para leer archivos en muy menos tiempo.
Puede utilizar este código con cualquier API backend para proporcionar el archivo fuente.
El archivo fuente puede ser cualquier archivo de texto; en este ejemplo hemos utilizado .csv.

LOAD DATA LOCAL copia el archivo fuente a su servidor a través de MySql, por lo que se deben implementar medidas de seguridad en el lado del servidor.

La utilidad

mysqlimport utiliza la declaración LOAD DATA internamente.

Puedes ignorar los encabezados en CSV agregando IGNORAR 1 LÍNEA en la declaración.

\\\"How

? Referencia

Documentos oficiales

","image":"http://www.luping.net/uploads/20241001/172776132566fb8baddd92a.gif","datePublished":"2024-11-08T04:52:05+08:00","dateModified":"2024-11-08T04:52:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo cargar datos de archivos CSV de forma masiva en una tabla MySql? Una forma muy rápida usando LOAD DATA.

¿Cómo cargar datos de archivos CSV de forma masiva en una tabla MySql? Una forma muy rápida usando LOAD DATA.

Publicado el 2024-11-08
Navegar:100

? Introducción

¿Sigues usando bucles "for" o " while" para iterar sobre tus filas e insertarlas en tu base de datos? ¿Sigues escribiendo código separado para leer el archivo .csv y cargarlo en tu base de datos MySQL?

Diga "NO" a la lógica lineal con la declaración "LOAD DATA" proporcionada por MySQL. Prepárese para cambiar su código para minimizar las líneas y aumentar drásticamente el rendimiento.

MySql proporciona la instrucción LOAD DATA, que es una forma de muy alta velocidad de leer los datos de archivos de texto e insertarlos en la tabla con un código mínimo.

? ¿Qué es la declaración LOAD DATA INFILE?

Según los documentos oficiales de MySQL, la declaración LOAD DATA se usa para leer datos del archivo de una manera muy rápida y puede insertar estos datos en su tabla con una sola consulta, en lugar de acceder a su base de datos varias veces. con consulta "INSERT INTO".

MySQL también proporciona una declaración -> "SELECT…INTO OUTFILE", que hace exactamente lo contrario de lo que hace "LOAD DATA", que es leer los datos de la tabla al archivo.

La utilidad mysqlimport proporcionada por MySql llama internamente a la declaración LOAD DATA en el servidor para importar los datos.

? ¿Cómo usarlo?

El fragmento esencial anterior muestra las declaraciones de datos de carga genéricas. Todas las opciones disponibles se mencionan en el código anterior.

Centrémonos ahora en un ejemplo sencillo de simplemente leer un archivo .csv e insertar sus filas en una tabla compatible.

Un ejemplo sencillo :

LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table

Un ejemplo a vista de pájaro con todas las opciones esenciales:

¿No hace falta decir que su archivo CSV debe tener el formato adecuado para que esta declaración funcione?.

Y listo, usando la declaración anterior, su .csv con más de 100 mil filas se importará a su tabla en segundos.

Ahora, algunas cosas importantes a tener en cuenta:

La declaración anterior se ejecuta en el nivel MySql, por lo tanto, los archivos fuente se copian del cliente al servidor para poder importarlos.
Esto plantea algunos problemas de seguridad, debemos asegurarnos de que la conexión cliente-servidor esté segura mientras usamos este código.

En MySql 8.0, la capacidad de usar LOCAL está configurada como False de forma predeterminada. Como su servidor y cliente deben estar configurados para permitir LOCAL, es posible que algunos de ustedes obtengan un error de permiso.

En caso de error de permiso, debemos anularlo habilitando el local_infile:

SET GLOBAL local_infile = true;

Nota: Anular esta bandera no es una solución de seguridad sino más bien un reconocimiento por aceptar los riesgos; puede consultar esta documentación para obtener más información.

?‍? Conclusión

La instrucción LOAD DATA de MySql se utiliza para leer archivos en muy menos tiempo.
Puede utilizar este código con cualquier API backend para proporcionar el archivo fuente.
El archivo fuente puede ser cualquier archivo de texto; en este ejemplo hemos utilizado .csv.

LOAD DATA LOCAL copia el archivo fuente a su servidor a través de MySql, por lo que se deben implementar medidas de seguridad en el lado del servidor.

La utilidad

mysqlimport utiliza la declaración LOAD DATA internamente.

Puedes ignorar los encabezados en CSV agregando IGNORAR 1 LÍNEA en la declaración.

How to Bulk Upload CSV file data into MySql Table? A very fast way using LOAD DATA.

? Referencia

Documentos oficiales

Declaración de liberación Este artículo se reproduce en: https://dev.to/elpidaguy/how-to-bulk-upload-csv-file-data-into-mysql-table-a-very-fast-way-using-load-data- c44? 1Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3