sql >> Databáze >  >> RDS >> Database

Jak odstranit řádek v SQL

Problém:

Chcete odstranit řádek / řádky z tabulky.

Příklad 1:

V exam tabulka, jsou tam jména studentů a výsledky zkoušky.

name výsledek
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10
Ellen Thornton 8

Chcete odstranit řádek pro Ellen Thornton.

Řešení 1:

DELETE FROM exam
WHERE name = 'Ellen Thornton';

Tabulka exam nyní vypadá takto:

name výsledek
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10

Diskuse:

Použijte DELETE FROM s názvem tabulky, ze které chcete odstranit řádek. V WHERE , napište podmínku určující řádek. Pokud máte na mysli konkrétní řádek, je nejlepší napsat podmínku pomocí sloupce obsahujícího jedinečné hodnoty. Zde je jedinečný sloupec name .

Pokud existuje mnoho řádků, jejichž název se rovná 'Ellen Thornton “, všechny budou odstraněny. Pokud takový název neexistuje, nebudou odstraněny žádné řádky.

Příklad 2:

V exam v tabulce jsou jména studentů a výsledky zkoušky, stejně jako v předchozím příkladu.

name výsledek
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10
Ellen Thornton 8

Chcete odstranit všechny řádky, pro které je result je větší než 10 .

Řešení 2:

DELETE FROM exam
WHERE result > 10;

exam tabulka nyní vypadá takto:

name výsledek
Janet Morgen 9
Josh Kaur 10
Ellen Thornton 8

Diskuse:

Někdy neznáte přesné řádky, které potřebujete odstranit, nebo dokonce kolik řádků je třeba odstranit. Můžete napsat podmínku, pro kterou mají být řádky odstraněny. Podmínku může splňovat mnoho řádků, může to být pouze jeden řádek nebo žádné řádky.

Samozřejmě můžete do WHERE napsat více podmínek , spojte je pomocí AND nebo OR , například:

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

  1. Jak udělit všechna oprávnění uživateli root v MySQL 8.0

  2. MySQL se spojí s klauzulí where

  3. SQL trasování, událost 10046 v Oracle:trcsess, nástroj tkprof

  4. Proč v psql nemají některé příkazy žádný účinek?