Maison >base de données >tutoriel mysql >Comment importer des données d'un fichier texte dans une base de données MySQL à l'aide d'un script Bash ?

Comment importer des données d'un fichier texte dans une base de données MySQL à l'aide d'un script Bash ?

DDD
DDDoriginal
2024-12-19 05:41:14290parcourir

How to Import Data from a Text File into a MySQL Database Using a Bash Script?

Comment insérer des valeurs d'un fichier texte dans une base de données MySQL à l'aide d'un script Bash

Ce guide montre comment construire un script Bash qui établit une connexion avec votre serveur MySQL et insère les valeurs stockées dans un fichier texte dans une base de données nommée 'test'.

Étape 1 : Création du script Shell

Dans votre éditeur de texte préféré, créez un nouveau fichier et incluez le code suivant :

#!/bin/bash
inputfile="test.txt"
cat $inputfile | while read ip mac server; do
    echo "INSERT INTO test (IP,MAC,SERVER) VALUES ('$ip', '$mac', '$server');"
done | mysql -uroot -ptest test;

Étape 2 : Comprendre le script

  • inputfile="test.txt" : Cette ligne précise le nom du fichier texte contenant les données à inséré.
  • cat $inputfile | pendant la lecture du serveur IP Mac ; do : Cette commande lit chaque ligne du fichier texte et attribue les champs aux variables ip, mac et server.
  • echo "INSERT INTO test (IP,MAC,SERVER) VALUES ("$ip", '$mac', '$server');": Cette ligne construit l'instruction SQL pour insérer les valeurs dans la table 'test'.
  • done | mysql -uroot -ptest test ; : cette commande exécute l'instruction SQL et insère les valeurs dans la base de données « test ».

Dépannage : erreur de non-concordance du nombre de colonnes

Si vous rencontrez une erreur indiquant « Le nombre de colonnes ne correspond pas au nombre de valeurs », cela signifie probablement que le nombre de colonnes spécifié dans l'instruction SQL ne correspond pas au nombre de valeurs dans le fichier texte. Assurez-vous que les conditions suivantes sont remplies :

  • Chaque ligne du fichier texte contient trois valeurs séparées par des espaces (par exemple, 10.16.54.29 00:f8:e5:33:22:3f marsara).
  • La table de test dans la base de données MySQL comporte trois colonnes nommées IP, MAC et SERVEUR.

En suivant ces étapes, vous pouvez créer un script Bash qui insère avec succès les valeurs d'un fichier texte dans une base de données MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn