GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment supprimer une table dans MySQL

Présentation

Le DROP TABLE permet de supprimer une table d'une base de données MySQL. Cette instruction supprime toute la structure ainsi que le contenu du tableau.

Le tutoriel explore DROP commandes d'instruction et affiche les options pour supprimer les tables des bases de données MySQL .

Prérequis

  • Accès à une fenêtre de terminal/ligne de commande
  • Un système exécutant MySQL
  • Une base de données de travail ou de test
  • Un utilisateur MySQL avec les privilèges nécessaires (privilèges DROP requis)

Syntaxe de la commande MySQL DROP TABLE

Pour supprimer une table dans MySQL, utilisez le DROP TABLE déclaration. La syntaxe de base de la commande est la suivante :

DROP [TEMPORARY] TABLE [IF EXISTS] table_name [, table_name] [RESTRICT | CASCADE];

Décomposons la syntaxe :

  • Le DROP TABLE l'instruction supprime définitivement un tableau et ses lignes.
  • Le [TEMPORARY] l'option garantit que vous ne supprimez que les tables temporaires.
  • Le [IF EXISTS] supprime une table uniquement si elle existe.
  • Le [RESTRICT] sera disponible dans les futures itérations de MySQL. Il garantit qu'une ligne parent n'est pas supprimée si une ligne enfant fait référence à une valeur dans ladite ligne parent.
  • La [CASCADE] garantit que lorsque vous supprimez une ligne, toutes les lignes des tables liées qui font référence à cette ligne sont également supprimées. Cette option sera disponible dans les futures itérations de MySQL.

Utiliser l'instruction DROP pour supprimer une table

Pour supprimer définitivement une table, saisissez la déclaration suivante dans le shell MySQL :

DROP TABLE table1;

Remplacer table1 avec le nom de la table que vous souhaitez supprimer. La sortie confirme que la table a été supprimée.

Utilisez DROP pour supprimer uniquement les tables existantes

MySQL génère une erreur si vous essayez de supprimer une table qui n'existe pas. Cela peut être un problème lors de l'inclusion de DROP déclaration dans un script prédéfini.

Pour vérifier MySQL si une table existe d'abord :

DROP TABLE IF EXISTS table1;

Le IF EXISTS l'option génère un avertissement si table1 n'existe pas.

L'utilisation de cette option empêche un script de se bloquer sur une erreur. Affichez l'avertissement en saisissant :

SHOW WARNINGS;

Comment supprimer plusieurs tables

Pour supprimer plusieurs tables avec un seul DROP déclaration :

DROP TABLE IF EXISTS table1, table2, table3;

Le IF EXISTS l'option affiche un avertissement sous la forme table1 n'existe pas.

Comment supprimer une table temporaire

Les tables temporaires sont utilisées pour générer et stocker un ensemble de données peu de temps avant de l'utiliser.

Par exemple, vous pouvez décider de stocker les résultats d'un SELECT instruction avec plusieurs instructions JOIN dans une table temporaire. Ensuite, interrogez facilement la table temporaire.

Pour supprimer les tables temporaires sans risquer de perdre les tables régulières, utilisez le TEMPORARY choix :

DROP TEMPORARY TABLE IF EXISTS table4;

Comment supprimer des tables basées sur des chaînes de caractères

MySQL n'a pas de commande intégrée pour supprimer les tables qui correspondent à une chaîne de caractères. Utilisez plutôt un script pour vous aider à effectuer cette tâche.

1. Définissez la base de données et la chaîne de caractères que vous souhaitez filtrer :

set @schema = 'tableselection';
set @string = 'table%';

Remplacer tableselection avec le nom de votre base de données. Remplacer table% avec la chaîne de caractères que vous souhaitez sélectionner et supprimer. Assurez-vous de laisser le % caractère générique à la fin.

2. Créez une instruction MySQL qui sélectionne toutes les tables correspondant à la chaîne de caractères :

SELECT CONCAT ('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
INTO @droptool
FROM information_schema.tables
WHERE @schema = database()
AND table_name LIKE @string;

Ce code sélectionne toutes les tables avec le table% caractères spécifiés à partir du information_schema table. Il les concatène ensuite et exécute un DROP déclaration contre le groupe.

3. Créez une sélection à partir des résultats de ce code :

SELECT @droptool;

4. Affichez le contenu de la commande :

PREPARE stmt FROM @droptool;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Le code dans la section ci-dessous est présenté dans son intégralité pour faciliter l'utilisation :

set @schema = 'tableselection';
set @string = 'table%';
 
SELECT CONCAT ('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
INTO @droptool
FROM information_schema.tables
WHERE @schema = database()
AND table_name LIKE @string;
 
SELECT @droptool;
 
PREPARE stmt FROM @droptool;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Cent OS
  1. Comment créer une base de données MySQL dans Workbench

  2. Comment copier des tables MySQL entre des bases de données

  3. Comment réparer une table de base de données MySQL corrompue

  4. Supprimer des tables dans MySQL

  5. Comment installer MySQL 5.6 sur CentOS 6.x

Aide-mémoire des commandes MySQL

Comment utiliser les déclencheurs MySQL

Comment installer MySQL sur AlmaLinux

Comment installer MySQL sur CentOS 8

Comment installer MySQL 8.0 sur CentOS 8 / RHEL 8

Comment installer MySQL 8 sur CentOS 8