sql >> Databasteknik >  >> RDS >> Database

Hur man tar bort en rad i SQL

Problem:

Du vill ta bort en rad/rader från en tabell.

Exempel 1:

I exam tabell, det finns namn på eleverna och resultatet av tentamen.

namn resultat
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10
Ellen Thornton 8

Du vill ta bort raden för Ellen Thornton.

Lösning 1:

DELETE FROM exam
WHERE name = 'Ellen Thornton';

Tabellen exam ser nu ut så här:

namn resultat
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10

Diskussion:

Använd DELETE FROM med namnet på tabellen som du vill ta bort en rad från. I WHERE , skriv villkoret som anger raden. Om du har en specifik rad i åtanke är det bäst att skriva villkoret med hjälp av kolumnen som innehåller unika värden. Här är den unika kolumnen name .

Om det finns många rader vars namn är lika med 'Ellen Thornton ', kommer alla att tas bort. Om det inte finns något sådant namn tas inga rader bort.

Exempel 2:

I exam tabell, det finns namn på eleverna och resultatet av tentamen, precis som i föregående exempel.

namn resultat
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10
Ellen Thornton 8

Du vill ta bort alla rader som result för är större än 10 .

Lösning 2:

DELETE FROM exam
WHERE result > 10;

exam Tabellen ser nu ut så här:

namn resultat
Janet Morgen 9
Josh Kaur 10
Ellen Thornton 8

Diskussion:

Ibland vet du inte exakt vilka rader du behöver ta bort eller ens hur många rader du behöver ta bort. Du kan skriva villkoret för vilket raderna ska tas bort. Det kan finnas många rader som uppfyller villkoret, det kan bara vara en rad eller inga rader alls.

Naturligtvis kan du skriva flera villkor i WHERE , förenar dem med AND eller OR , till exempel:

DELETE FROM exam
WHERE result > 10
  AND name LIKE 'J%';

  1. Hur man kontrollerar MySQL-databas och tabellstorlekar

  2. SQL UPDATE-sats för att byta två värden i två rader

  3. Hur man lägger till standardbegränsning i MySQL

  4. EF 4, hur man lägger till delklasser