sql >> Databáze >  >> RDS >> Mysql

Mysql - odstranit multi tabulku

Vytvořil jsem testovací vzorek následovně:

použijte test
DROP TABLE, IF EXISTS a;
DROP TABLE IF EXISTS b;
CREATE TABLE a (id INT NOT NULL PRIMARY KEY);
CREATE TABLE b (id INT NOT NULL PRIMÁRNÍ KLÍČ);
VLOŽTE DO HODNOT (1),(2),(3),(4),(5),(6),(7),(8),(9),(10 );
INSERT INTO b VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
SELECT * FROM a;
SELECT * FROM b;
DELETE a.* FROM a VNITŘNÍ PŘIPOJENÍ b ON a.id =b.id WHERE a.id IN (1,2,3 ,4);
VYBRAT * Z a;

Zde jsou mé výsledky:

[email protected] (DB test) ::použití testu
Databáze změněna
example@sqldat .com (DB test) ::DROP TABLE IF EXISTS a;
Dotaz je v pořádku, ovlivněno 0 řádků (0,06 s)

[email protected] (DB test) ::DROP TABLE IF EXISTS b;
Dotaz je v pořádku, ovlivněno 0 řádků (0,06 s)

[email protected] (DB test) ::CREATE TABLE a (id INT NOT NULL PRIMARY KEY);
Dotaz je v pořádku, ovlivněno 0 řádků (0,23 s)

[email protected] (DB test) ::CREATE TABLE b (id INT NOT NULL PRIMARY KEY);
Dotaz je v pořádku, ovlivněno 0 řádků (0,17 s)

[email protected] (DB test) ::INSERT INTO a VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
Dotaz je v pořádku, ovlivněno 10 řádků (0,06 s)
Záznamy:10 duplikátů:0 Upozornění:0

[email protected] (DB test) ::INSERT INTO b VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
Dotaz je v pořádku, ovlivněno 10 řádků (0,06 s)
Záznamy:10 duplikátů:0 Upozornění:0

[email protected] (DB test) ::SELECT * FROM a;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
10 řádků v sadě (0,00 s)

[email protected] (DB test) ::SELECT * FROM b;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
10 řádků v sadě (0,00 s)

[email protected] (DB test) ::DELETE a,b Z a INNER JOIN b ON a.id =b.id WHERE a.id IN(1,2,3,4);Dotaz OK, ovlivněny 4 řádky (0,08 s)

[email protected] (DB test) ::SELECT * FROM a;
+----+
| id |
+----+
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
6 řádků v sadě (0,00 s)

[email protected] (DB test) ::SELECT * FROM b;
+----+
| id |
+----+
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
6 řádků v sadě (0,00 s)

Vyzkoušejte to !!!

BTW Z vašeho dotazu jsem odstranil „AS a“ a „AS b“ a změnil jsem a.b_id na a.id



  1. Ukládání cesty k souboru do databáze / SQL

  2. Spuštění dotazu pro odstranění SQL v Laravelu

  3. Jak MySQL Cluster určí, které datové uzly mají hledat SELECT dotaz?

  4. Jak nákladné jsou JOINy ​​v SQL? A/nebo, jaký je kompromis mezi výkonem a normalizací?