Zmiana rekordu danych w tabeli poleceniem UPDATE

Autor podstrony: Krzysztof Zajączkowski

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

Ponieważ ludzką cechą jest mylić się, więc konieczne czasami jest użycie polecenia UPDATE w celu poprawy wpisu w rekordzie danych danej tabeli. Oto prosty przykład:

mysql> USE library
Database changed
mysql> INSERT INTO books (author, title, pages) VALUES
    -> ('W. Cjrowski', 'Rio Anaconda',250);
Query OK, 1 row affected (0.03 sec)

mysql> UPDATE books SET author = 'W. Cejrowski' WHERE title REGEXP 'Anaconda';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT title, author FROM books WHERE author REGEXP 'Cejrowski';
+--------------+--------------+
| title        | author       |
+--------------+--------------+
| Rio Anaconda | W. Cejrowski |
+--------------+--------------+
1 row in set (0.00 sec)

mysql>

Najpierw w powyższej sekwencji zapytań dodałem do tabeli books znajdującej się w bazie danych library nowy wpis z bablem:

INSERT INTO books (author, title, pages) VALUES ('W. Cjrowski', 'Rio Anaconda',250);

a następnie tego babola poprawiłem wykorzystując w przebiegły (żeby nie powiedzieć sprytny) sposób polecenie UPDATE:

UPDATE books SET author = 'W. Cejrowski' WHERE title REGEXP 'Anaconda';

W powyższym zapytaniu, po słowie kluczowym SET została wpisana zmiana, jakiej ulegnie jedno pole wszystkich rekordów pasujących do warunku znajdującego się po słowie kluczowym WHERE. Można jednocześnie zmieniać kilka lub wszystkie pola rekordów, wystarczy wymienić ich nazwy wraz z przypisanymi nowymi wartościami po przecinku.

Więcej opisów o operatorach warunkowych można przeczytać na stronie Programowanie → Podstawy SQL-a → Wyświetlanie zawartości tabeli poleceniem SELECT, gdzie przy okazji je omówiłem.

Propozycje książek