L'extrait essentiel ci-dessus montre les instructions de données de chargement génériques. Toutes les options disponibles sont mentionnées dans le code ci-dessus.
Concentrons-nous maintenant sur un exemple simple consistant simplement à lire un fichier .csv et à insérer ses lignes dans une table compatible.
Un exemple simple :
LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table
Un exemple à vol d'oiseau avec toutes les options essentielles :
Inutile de dire que votre fichier CSV doit être correctement formaté pour que cette instruction fonctionne ?.
Et voilà, en utilisant l'instruction ci-dessus, votre .csv avec plus de 100 000 lignes sera importé dans votre table en quelques secondes.
Maintenant, quelques points importants à noter :
L'instruction ci-dessus s'exécute au niveau MySql, les fichiers sources sont donc copiés du client vers le serveur afin de les importer.
Cela soulève des problèmes de sécurité, nous devons nous assurer que la connexion client-serveur est sécurisée lors de l'utilisation de ce code.Dans MySql 8.0, la possibilité d'utiliser LOCAL est définie sur False par défaut. Comme votre serveur et votre client doivent être configurés pour que LOCAL soit autorisé, certains d'entre vous pourraient recevoir une erreur d'autorisation.
En cas d'erreur d'autorisation, nous devons la remplacer en activant le local_infile :
SET GLOBAL local_infile = true;
Remarque : le remplacement de cet indicateur n'est pas une solution de sécurité mais plutôt une reconnaissance de l'acceptation des risques, vous pouvez consulter cette documentation pour plus d'informations.
L'instruction MySQL LOAD DATA est utilisée pour lire les fichiers en très moins de temps.
Vous pouvez utiliser ce code avec n'importe quelle API backend pour fournir le fichier source.
Le fichier source peut être n'importe quel fichier texte, nous avons utilisé .csv dans cet exemple.
LOAD DATA LOCAL copie le fichier source sur votre serveur via MySql, des mesures de sécurité côté serveur doivent donc être mises en œuvre.
L'utilitairemysqlimport utilise l'instruction LOAD DATA en interne.
Vous pouvez ignorer les en-têtes dans CSV en ajoutant IGNORE 1 LINES dans l'instruction.
Documents officiels
","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"}}Utilisez-vous toujours des boucles « for » ou « while » pour parcourir vos lignes et les insérer dans votre base de données ? Écrivez-vous toujours du code séparé pour lire le fichier .csv et le télécharger sur votre base de données MySQL ?
Dites "NON" à la logique linéaire avec l'instruction "LOAD DATA" fournie par MySQL. Préparez-vous à modifier votre code pour à la fois minimiser les lignes et augmenter considérablement les performances.
MySql fournit l'instruction LOAD DATA, qui est un moyen très rapide de lire les données des fichiers texte et de les insérer dans une table avec un minimum de code.
Selon la documentation officielle des états MySQL, l'instruction LOAD DATA est utilisée pour lire les données du fichier de manière très rapide et vous pouvez insérer ces données dans votre table avec une seule requête, au lieu d'appuyer plusieurs fois sur votre base de données. avec la requête "INSERT INTO".
MySQL fournit également une instruction -> "SELECT…INTO OUTFILE", qui fait exactement le contraire de ce que fait "LOAD DATA", qui consiste à lire les données de la table dans un fichier.
L'utilitaire mysqlimport fourni par MySql appelle en interne l'instruction LOAD DATA sur le serveur pour importer les données.
L'extrait essentiel ci-dessus montre les instructions de données de chargement génériques. Toutes les options disponibles sont mentionnées dans le code ci-dessus.
Concentrons-nous maintenant sur un exemple simple consistant simplement à lire un fichier .csv et à insérer ses lignes dans une table compatible.
Un exemple simple :
LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table
Un exemple à vol d'oiseau avec toutes les options essentielles :
Inutile de dire que votre fichier CSV doit être correctement formaté pour que cette instruction fonctionne ?.
Et voilà, en utilisant l'instruction ci-dessus, votre .csv avec plus de 100 000 lignes sera importé dans votre table en quelques secondes.
Maintenant, quelques points importants à noter :
L'instruction ci-dessus s'exécute au niveau MySql, les fichiers sources sont donc copiés du client vers le serveur afin de les importer.
Cela soulève des problèmes de sécurité, nous devons nous assurer que la connexion client-serveur est sécurisée lors de l'utilisation de ce code.Dans MySql 8.0, la possibilité d'utiliser LOCAL est définie sur False par défaut. Comme votre serveur et votre client doivent être configurés pour que LOCAL soit autorisé, certains d'entre vous pourraient recevoir une erreur d'autorisation.
En cas d'erreur d'autorisation, nous devons la remplacer en activant le local_infile :
SET GLOBAL local_infile = true;
Remarque : le remplacement de cet indicateur n'est pas une solution de sécurité mais plutôt une reconnaissance de l'acceptation des risques, vous pouvez consulter cette documentation pour plus d'informations.
L'instruction MySQL LOAD DATA est utilisée pour lire les fichiers en très moins de temps.
Vous pouvez utiliser ce code avec n'importe quelle API backend pour fournir le fichier source.
Le fichier source peut être n'importe quel fichier texte, nous avons utilisé .csv dans cet exemple.
LOAD DATA LOCAL copie le fichier source sur votre serveur via MySql, des mesures de sécurité côté serveur doivent donc être mises en œuvre.
L'utilitairemysqlimport utilise l'instruction LOAD DATA en interne.
Vous pouvez ignorer les en-têtes dans CSV en ajoutant IGNORE 1 LINES dans l'instruction.
Documents officiels
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3