Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql - supprimer plusieurs tables

J'ai créé un échantillon de test comme suit :

use test
DOP TABLE IF EXISTS a;
DOP TABLE IF EXISTS b;
CREATE TABLE a (id INT NOT NULL PRIMARY KEY);
CREATE TABLE b (id INT NOT NULL CLÉ PRIMAIRE);
INSÉRER DANS une VALEURS (1),(2),(3),(4),(5),(6),(7),(8),(9),(10 );
INSÉRER DANS b LES VALEURS (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
SELECT * FROM a;
SELECT * FROM b;
DELETE a.* FROM a INNER JOIN b ON a.id =b.id WHERE a.id IN (1,2,3 ,4);
SELECT * FROM a;

Voici mes résultats :

[email protected] (test DB) ::utiliser test
Base de données modifiée
example@sqldat .com (test DB) ::DROP TABLE IF EXISTS a;
Requête OK, 0 lignes affectées (0.06 sec)

[email protected] (test DB) ::DROP TABLE IF EXISTS b;
Requête OK, 0 lignes affectées (0.06 sec)

[email protected] (test DB) ::CREATE TABLE a (id INT NOT NULL PRIMARY KEY);
Requête OK, 0 lignes affectées (0.23 sec)

[email protected] (test DB) ::CREATE TABLE b (id INT NOT NULL PRIMARY KEY);
Requête OK, 0 lignes affectées (0.17 sec)

[email protected] (test DB) ::INSERT INTO a VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
Requête OK, 10 lignes affectées (0,06 sec)
Enregistrements :10 Doublons :0 Avertissements :0

[email protected] (test DB) ::INSERT INTO b VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
Requête OK, 10 lignes affectées (0,06 sec)
Enregistrements :10 Doublons :0 Avertissements :0

[email protected] (test BD) ::SELECT * FROM a;
+----+
| identifiant |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
10 lignes dans le jeu (0,00 sec)

[email protected] (test BD) ::SELECT * FROM b;
+----+
| identifiant |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
10 lignes dans le jeu (0,00 sec)

[email protected] (test DB) ::DELETE a,b FROM a INNER JOIN b ON a.id =b.id WHERE a.id IN(1,2,3,4);Requête OK, 4 lignes affectées (0.08 sec)

[email protected] (test BD) ::SELECT * FROM a;
+----+
| identifiant |
+----+
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
6 lignes en série (0,00 s)

[email protected] (test BD) ::SELECT * FROM b;
+----+
| identifiant |
+----+
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
6 lignes en série (0,00 s)

Essayez-le !!!

BTW j'ai supprimé "AS a" et "AS b" de votre requête et j'ai changé a.b_id en a.id