Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| info:mysql:drop_table [2023/03/20 14:11] – créée radeff | info:mysql:drop_table [2026/09/17 12:07] (Version actuelle) – radeff | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| echo "SET FOREIGN_KEY_CHECKS = 0;" > ./temp.sql | echo "SET FOREIGN_KEY_CHECKS = 0;" > ./temp.sql | ||
| mysqldump --add-drop-table --no-data -u root -p db_name | grep 'DROP TABLE' >> ./temp.sql | mysqldump --add-drop-table --no-data -u root -p db_name | grep 'DROP TABLE' >> ./temp.sql | ||
| + | </ | ||
| + | |||
| + | ===== supprimer en masse: bash script ===== | ||
| + | |||
| + | on a une base avec plein de vieilles tables pourries, ici pour l' | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | |||
| + | # Configuration | ||
| + | DB_USER=" | ||
| + | DB_PASS=" | ||
| + | DB_NAME=" | ||
| + | TABLE_PATTERN=" | ||
| + | |||
| + | # 1. Récupérer la liste des tables | ||
| + | TABLES=$(mysql -u " | ||
| + | " | ||
| + | |||
| + | # Vérification si des tables ont été trouvées | ||
| + | if [ -z " | ||
| + | echo " | ||
| + | exit 0 | ||
| + | fi | ||
| + | |||
| + | echo "Les tables suivantes vont être supprimées :" | ||
| + | echo " | ||
| + | read -p " | ||
| + | |||
| + | if [ " | ||
| + | echo " | ||
| + | exit 0 | ||
| + | fi | ||
| + | |||
| + | # 2. Supprimer les tables | ||
| + | for TABLE in $TABLES; do | ||
| + | echo " | ||
| + | mysql -u " | ||
| + | if [ $? -eq 0 ]; then | ||
| + | echo "✓ Table $TABLE supprimée." | ||
| + | else | ||
| + | echo "✗ Erreur lors de la suppression de $TABLE." | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== supprimer en masse: mysql cmd ===== | ||
| + | <code mysql> | ||
| + | -- 1. Définir les variables | ||
| + | SET @db = ' | ||
| + | SET @pattern = ' | ||
| + | |||
| + | -- 2. Sélectionner explicitement la base de données | ||
| + | USE nom_de_votre_base; | ||
| + | |||
| + | -- 3. Générer la commande de suppression dynamique | ||
| + | SELECT GROUP_CONCAT(CONCAT(' | ||
| + | INTO @sql_command | ||
| + | FROM information_schema.tables | ||
| + | WHERE table_schema = @db AND table_name LIKE @pattern; | ||
| + | |||
| + | -- 4. Vérifier la commande générée (Optionnel mais recommandé pour sécurité) | ||
| + | -- Affiche la commande qui va être exécutée. Si le résultat est NULL, aucune table ne correspond. | ||
| + | SELECT @sql_command; | ||
| + | |||
| + | -- 5. Exécuter la suppression si la commande n'est pas NULL | ||
| + | PREPARE stmt FROM @sql_command; | ||
| + | EXECUTE stmt; | ||
| + | DEALLOCATE PREPARE stmt; | ||
| </ | </ | ||