Répertoire d'articles
Linux Base de données MySQLComment exporter des fichiers de données ?commande d'exportation d'instruction csv
MySQLexporter des données de données
Dans MySQL, vous pouvez utiliserSÉLECTIONNER … DANS OUTFILEdéclaration pour exporter simplement les données vers un fichier texte.
Exporter des données à l'aide de l'instruction SELECT ... INTO OUTFILE
Dans l'exemple suivant, nous allons exporter la table de données vers le fichier /tmp/tutorials.txt :
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Vous pouvez définir le format de sortie de données spécifié via les options de commande. L'exemple suivant concerne l'exportation au format CSV :
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
Dans l'exemple suivant, un fichier est généré avec des valeurs séparées par des virgules.Ce format peut être utilisé par de nombreux programmes.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
L'instruction SELECT ... INTO OUTFILE a les attributs suivants :
- LOAD DATA INFILE est l'opération inverse de la syntaxe SELECT ... INTO OUTFILE, SELECT.Pour écrire des données d'une base de données dans un fichier, utilisez SELECT ... INTO OUTFILE, et pour relire le fichier dans la base de données, utilisez LOAD DATA INFILE.
- SELECT ... INTO OUTFILE Un SELECT de la forme 'nom_fichier' peut écrire les lignes sélectionnées dans un fichier.Le fichier est créé sur l'hôte du serveur, vous devez donc disposer de l'autorisation FILE pour utiliser cette syntaxe.
- La sortie ne peut pas être un fichier existant.Empêcher les données de fichiers d'être falsifiées.
- Avez-vous besoin d'avoir un compte pour vous connecter au serveur pour récupérer des fichiers.Sinon, SELECT ... INTO OUTFILE n'aura aucun effet.
- Sous UNIX, le fichier est créé pour être lisible et les autorisations appartiennent au serveur MySQL.Cela signifie que même si vous pouvez lire le fichier, vous ne pourrez peut-être pas le supprimer.
Exporter le tableau en tant que données brutes
Il produit principalement un script SQL contenant les commandes CREATE TABLE INSERT etc. nécessaires pour recréer la base de données à partir de zéro.
Pour exporter des données à l'aide de mysqldump, vous devez utiliser l'option –tab pour spécifier le répertoire spécifié par le fichier d'exportation, et la cible doit être accessible en écriture.
L'exemple suivant exporte la table de données chenweiliang_tbl dans le répertoire /tmp :
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Exporter des données au format SQL
Exportez les données au format SQL vers le fichier spécifié, comme suit :
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Le contenu du fichier créé par la commande ci-dessus est le suivant :
- MySQL 转储8.23 - - 主机:localhost 数据库:chenweiliang ----------------------------------- ---------------------- - 服务器版本 3.23 。58 - - 表结构为表`chenweiliang_tbl` - CREATE TABLE chenweiliang_tbl ( chenweiliang_id INT (11 )NOT NULL的auto_increment , chenweiliang_title VARCHAR (100 )NOT NULL 默认'' , chenweiliang_author VARCHAR (40 )NOT NULL 默认'' , submission_date日期默认NULL , PRIMARY KEY (chenweiliang_id ), UNIQUE KEY AUTHOR_INDEX (chenweiliang_author ))TYPE = MyISAM ; - - 转储数据的表`chenweiliang_tbl` - INSERT INTO chenweiliang_tbl VALUES (1 ,'Learn PHP' ,'John Poul' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (2 ,'学习MySQL' ,'Abdul S' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (3 ,'JAVA Tutorial' ,'Sanjay' ,'2007-05-06' );
Si vous avez besoin d'exporter les données de toute la base de données, vous pouvez utiliser la commande suivante :
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Si vous devez sauvegarder toutes les bases de données, vous pouvez utiliser la commande suivante :
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
L'option --all-databases a été ajoutée dans MySQL 3.23.12 et versions ultérieures.
Cette méthode peut être utilisée pour implémenter une stratégie de sauvegarde de base de données.
Copier les tables de données et les bases de données vers d'autres hôtes
Si vous devez copier des données sur un autre serveur MySQL, vous pouvez spécifier le nom et la table de la base de données dans la commande mysqldump.
Exécutez la commande suivante sur l'hôte source pour sauvegarder les données dans le fichier dump.txt :
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Si vous sauvegardez la base de données dans son intégralité, vous n'avez pas besoin d'utiliser un nom de table spécifique.
Si vous devez importer la base de données de sauvegarde sur le serveur MySQL, vous pouvez utiliser la commande suivante, à l'aide de la commande suivante, vous devez confirmer que la base de données a été créée :
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
La commande ci-dessus utilise un canal pour importer les données exportées vers l'hôte distant spécifié.
J'espère que le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) partagé "Comment exporter des fichiers de données depuis la base de données Linux MySQL ?Commande d'exportation de l'instruction csv" pour vous aider.
Bienvenue à partager le lien de cet article :https://www.chenweiliang.com/cwl-501.html
Pour débloquer plus d'astuces cachées🔑, bienvenue sur notre chaîne Telegram !
Partagez et likez si vous aimez ! Vos partages et vos likes sont notre motivation continue !