- Extraire une table depuis un dump complet
- Corriger le charset d’une colonne après un dump
Extraire une table depuis un dump complet
Nous allons utiliser awk pour cela. Sous Windows, sachez que awk est accessible depuis une interface cygwin.
Dans un premier temps, il faut lister toutes les tables présentes dans le fichier dump, pour en connaître l’ordre :
cat nom_du_fichier_dump.sql | grep 'Table structure for table' > table_list
En connaissant la table suivante, vous pouvez extraire la définition et les données de la table à extraire :
awk '/Table structure for table `nom_table`/,/Table structure for table `nom_table_suivante`/{print}' \ nom_du_fichier_dump.sql > nom_table_export.sql
Corriger le charset d’une colonne après un dump
Si après le dump de votre table, vous vous retrouvez avec des accents perdus (exemple é au lieu de é), une astuce consiste à convertir la colonne en binaire et la reconvertir en utf-8 (merci stackoverflow):
alter table descriptions modify name VARCHAR(2000) character set latin1; alter table descriptions modify name blob; alter table descriptions modify name VARCHAR(2000) character set utf8;
Tous vos caractères spéciaux réapparaissent comme par magie.