Usuwanie rekordów z bazy danych poleceniem DELETE FROM

Stronę tą wyświetlono już: 183 razy

Na poprzedniej stronie Programowanie → Podstawy SQL-a → Wyświetlanie zawartości tabeli poleceniem SELECT przy okazji omawiania interesujących zagadnień związanych z poleceniem SELECT zauważyłem, że w tabeli books bazy danych library znajdują się aż trzy niepotrzebne mi do niczego wpisy, przyjrzyjmy się im niezwłocznie:

mysql> USE library;
Database changed
mysql> SELECT * FROM books;
+----+--------------------------------+------------------+-------+
| id | title                          | author           | pages |
+----+--------------------------------+------------------+-------+
|  1 | Tytuł 1                        | Autor 1          |     0 |
|  2 | Tytuł 2                        | Autor 2          |     0 |
|  3 | Tytuł 3                        | Autor 3          |     0 |
|  4 | Hobbit, czyli tam i z powrotem | J. R. R. Tolkien |   300 |
|  5 | Drużyna Pierścienia            | J. R. R. Tolkien |   300 |
|  6 | Dwie wieże                     | J. R. R. Tolkien |   300 |
|  7 | Powrót króla                   | J. R. R. Tolkien |   300 |
|  8 | Odyseja kosmiczna 2001         | Arthur C. Clark  |   300 |
|  9 | Odyseja kosmiczna 2010         | Arthur C. Clark  |   300 |
| 10 | Odyseja kosmiczna 2061         | Arthur C. Clark  |   300 |
| 11 | Odyseja kosmiczna 3001         | Arthur C. Clark  |   300 |
+----+--------------------------------+------------------+-------+
11 rows in set (0.00 sec)

mysql>

Jak widać, pierwsze trzy wpisy były wpisami testowymi, które teraz pragnę czym prędzej usunąć z tabeli books, co też i czynię z najdzikszą rozkoszą za pomocą polecenie DELETE FROM w następujący sposób:

mysql> DELETE FROM books WHERE id BETWEEN 0 AND 3;
Query OK, 3 rows affected (0.02 sec)
mysql> SELECT * FROM books;
+----+--------------------------------+------------------+-------+
| id | title                          | author           | pages |
+----+--------------------------------+------------------+-------+
|  4 | Hobbit, czyli tam i z powrotem | J. R. R. Tolkien |   300 |
|  5 | Drużyna Pierścienia            | J. R. R. Tolkien |   300 |
|  6 | Dwie wieże                     | J. R. R. Tolkien |   300 |
|  7 | Powrót króla                   | J. R. R. Tolkien |   300 |
|  8 | Odyseja kosmiczna 2001         | Arthur C. Clark  |   300 |
|  9 | Odyseja kosmiczna 2010         | Arthur C. Clark  |   300 |
| 10 | Odyseja kosmiczna 2061         | Arthur C. Clark  |   300 |
| 11 | Odyseja kosmiczna 3001         | Arthur C. Clark  |   300 |
+----+--------------------------------+------------------+-------+
8 rows in set (0.02 sec)

mysql>

Jak widać słowo kluczowe WHERE tak jak w poleceniu SELECT tak i tutaj umożliwia wyciąganie rekordów spełniających określone warunki.

Komentarze