Méthode d'exportation : via l'instruction "SELECTI...INTO OUTFILE", utilisez l'instruction au format "SELECT nom de colonne FROM table [instruction WHERE] INTO OUTFILE 'target file' [OPTIONS]" pour exporter le contenu de le tableau Un fichier texte.
En important et exportant des tables de données, les données peuvent être déplacées entre le serveur de base de données MySQL et d'autres serveurs de base de données. L'exportation fait référence à la copie des données de la table de données MySQL dans un fichier texte. Il existe de nombreuses façons d'exporter des données. Cette section présente principalement l'utilisation de l'instruction SELECTI...INTO OUTFILE pour exporter des données.
Dans MySQL, vous pouvez utiliser l'instruction SELECTI...INTO OUTFILE pour exporter le contenu d'une table vers un fichier texte. Le format de base de l'instruction SELECT...INTO OUTFILE est le suivant :
SELECT 列名 FROM table [WHERE 语句] INTO OUTFILE '目标文件'[OPTIONS]
Cette instruction utilise SELECT pour interroger les données requises et INTO OUTFILE pour exporter les données. Parmi eux, le fichier cible est utilisé pour spécifier le fichier vers lequel les enregistrements interrogés sont exportés. Ce qu'il faut noter ici, c'est que le fichier cible ne peut pas être un fichier existant.
[OPTIONS] est une option de paramètre facultative. La syntaxe de la partie OPTIONS comprend les clauses FIELDS et LINES. Ses valeurs couramment utilisées sont :
CHAMPS TERMINÉS PAR 'string' : Définissez une chaîne comme délimiteur entre les champs, qui peut être composé d'un ou de plusieurs caractères. Par défaut, il s'agit du caractère de tabulation 't'.
CHAMPS [OPTIONNELLEMENT] ENCLOS PAR 'Caractère' : définissez des caractères pour entourer les champs de caractères tels que CHAR, VARCHAR et TEXT. Si OPTIONALLY est utilisé, il ne peut être utilisé que pour entourer des champs de caractères tels que CHAR et VARCHAR.
CHAMPS ESCAPÉS PAR 'Caractère' : Définissez la manière d'écrire ou de lire les caractères spéciaux. Il ne peut s'agir que d'un seul caractère, c'est-à-dire définir le caractère d'échappement. La valeur par défaut est ". .
LIGNES COMMENÇANT PAR 'Chaîne' : Définissez le caractère au début de chaque ligne, qui peut être un ou plusieurs caractères. Par défaut, aucun caractère n'est utilisé.
LINES TERMINATED BY 'String' : Définissez le caractère à la fin de chaque ligne, qui peut être un ou plusieurs caractères. La valeur par défaut est "n".
Remarque : les clauses FIELDS et LINES sont facultatives, mais si les deux sont spécifiées, FIELDS doit être placé avant LINES.
Exemple 1
Ce qui suit utilise l'instruction SELECT...INTO OUTFILE pour exporter les enregistrements de la table des personnes dans la base de données de test. L'instruction SQL et les résultats d'exécution sont les suivants :
mysql> SELECT * FROM test.person INTO OUTFILE 'C://ProgramData/MySQL/MySQL Server 5.7/Uploads/person.txt'; Query OK, 5 rows affected (0.05 sec)
Recherchez ensuite le fichier person.txt en fonction du chemin exporté. Le contenu du fichier est le suivant :
1 Java 12 2 MySQL 13 3 C 15 4 C++ 22 5 Python 18
Les données de la table person sont réussies. exporté.
Remarque : L'erreur suivante peut se produire lors de l'exportation :
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
Cela est dû au fait que MySQL limite le chemin d'exportation des données. Les fichiers d'importation et d'exportation MySQL ne peuvent être importés et exportés que vers des fichiers situés dans le chemin spécifié par la variable secure-file-priv.
Il existe les 2 solutions suivantes :
1) Utilisez d'abord les variables show comme l'instruction '%secure%' pour afficher la configuration de la variable secure-file-priv ; .
mysql> show variables like '%secure%' \G *************************** 1. row *************************** Variable_name: require_secure_transport Value: OFF *************************** 2. row *************************** Variable_name: secure_auth Value: ON *************************** 3. row *************************** Variable_name: secure_file_priv Value: C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\ 3 rows in set, 1 warning (0.04 sec)
La valeur de secure_file_priv spécifie le chemin d'accès au fichier d'importation et d'exportation MySQL. Modifiez le chemin du fichier d'exportation dans l'instruction SQL par le chemin spécifié de la variable, puis effectuez les opérations d'importation et d'exportation. Vous pouvez également modifier la valeur de secure-file-priv dans le fichier de configuration my.ini puis redémarrer le service.
2) Si la valeur secure_file_priv est NULL, l'exportation est interdite. Vous pouvez ajouter l'instruction de chemin de paramètre secure_file_priv= dans le fichier my.ini sous le chemin d'installation de MySQL, puis redémarrer le service.
Exemple 2
Utilisez l'instruction SELECT...INTO OUTFILE pour exporter les enregistrements de la table des personnes de la base de données de test vers un fichier texte, en utilisant l'option FIELDS et l'option LINES, les champs doivent être séparés par et les données de caractères doivent être placées entre guillemets doubles. Chaque enregistrement commence par -. L'instruction SQL est la suivante :
SELECT * FROM test.person INTO OUTFILE 'C:/person.txt' FIELDS TERMINATED BY '\、' OPTIONALLY ENCLOSED BY '\"' LINES STARTING BY '\-' TERMINATED BY '\r\n';
Parmi eux :
CHAMPS TERMINÉS PAR ', ' : signifie que les champs sont séparés par,
ENCLOSED BY '"' : Indique que chaque champ est entouré de guillemets doubles ;
LINES STARTING BY '-' : Indique que chaque ligne commence par - ;
TERMINATED BY 'rn' signifie que chaque ligne se termine par un retour chariot et un saut de ligne, garantissant que chaque enregistrement occupe une ligne
Le. le contenu du fichier person.txt est le suivant :
-1、"Java"、12 -2、"MySQL"、13 -3、"C"、15 -4、"C++"、22 -5、"Python"、18
Vous pouvez voir que chaque enregistrement commence par -, chaque donnée est séparée par, et toutes les valeurs des champs sont placées entre guillemets doubles
Tutoriel recommandé : tutoriel vidéo 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!