MySQL ZAKTUALIZUJ zapytanie z przykładem

⚡ Inteligentne podsumowanie

MySQL Zapytanie UPDATE modyfikuje istniejące wiersze w tabeli, zmieniając jedno lub kilka pól w jednym poleceniu. Ten materiał wyjaśnia składnię polecenia UPDATE, filtrowanie WHERE, przykłady zastosowania w tabeli members oraz zabezpieczenia zapobiegające niezamierzonym masowym aktualizacjom.

  • ✏️ Oświadczenie główne: UPDATE `table_name` SET `column_name` = 'new_value' [WHERE warunek] przepisuje wartości w każdym wierszu, który pasuje do filtru.
  • ⚠️ Pominięto GDZIE: Bez klauzuli WHERE polecenie UPDATE przepisuje kolumnę w każdym wierszu tabeli.
  • 🔢 Formatowanie wartości: Wartości ciągów znaków i dat wymagają użycia pojedynczych cudzysłowów, wartości liczbowe nie, a daty są podawane w formacie „RRRR-MM-DD”.
  • 🧩 Wiele kolumn: Aby zaktualizować kilka pól w jednym poleceniu, oddziel każde zadanie przecinkiem.
  • 🔍 Krok weryfikacji: Najpierw uruchom klauzulę WHERE jako polecenie SELECT, a następnie powtórz je po poleceniu UPDATE, aby potwierdzić nowe wartości.
  • 🛡️ Tryb bezpiecznej aktualizacji: MySQL Workbench odrzuca każdą instrukcję UPDATE, której klauzula WHERE nie filtruje według kolumny klucza.

Co to jest zapytanie UPDATE?

Aktualizacja MySQL Polecenie UPDATE służy do modyfikacji wierszy w tabeli. Zapytanie UPDATE może zmienić jedno lub wiele pól jednocześnie. Można go również użyć do aktualizacji MySQL tabela zawierająca wartości pobrane z innej tabeli.

Dlaczego warto używać zapytania UPDATE w MySQL?

Dane rzadko pozostają poprawne na zawsze. Członkowie zmieniają numery telefonów, ceny ulegają zmianom, a zamówienia zmieniają się z oczekujących na wysłane. Usunięcie starego wiersza i wstawienie nowego spowodowałoby uszkodzenie klucza podstawowego i wszelkich odwołań do kluczy obcych. Polecenie UPDATE edytuje wiersz na miejscu, dzięki czemu tożsamość i relacje zachowują poprawność.

Zapytanie UPDATE jest właściwym narzędziem, gdy:

  • Wartość jest błędna lub nieaktualna: Popraw błędnie napisane nazwisko lub odśwież numer telefonu, nie zmieniając reszty rekordu.
  • Status musi się zmieniać: Zmień status zamówienia z „oczekującego” na „wysłane”, przepisując jedną kolumnę.
  • Kilka pól zmienia się jednocześnie: Jedno polecenie może ustawić nową nazwę i nowy adres w tym samym przebiegu.
  • Potrzebna jest korekta zbiorcza: Klauzula WHERE, która pasuje do wielu wierszy, stosuje tę samą edycję do wszystkich z nich jednocześnie.

Ponieważ instrukcja UPDATE bez klauzuli WHERE nadpisuje każdy wiersz, filtr oddziela rutynową korektę od przypadkowego nadpisania.

MySQL Zaktualizuj składnię poleceń

Mając ustalony cel, kolejnym krokiem jest składnia. Podstawowa forma zapytania UPDATE w MySQL jest pokazany poniżej.

UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition];

TUTAJ:

  • AKTUALIZACJA `table_name` to polecenie, które mówi MySQL Aby zmodyfikować dane w tabeli.
  • USTAW `column_name` = 'new_value' Podaje nazwy i wartości pól, na które ma wpływ zapytanie UPDATE. Podczas ustawiania wartości, typy danych typu string muszą być ujęte w pojedyncze cudzysłowy. Wartości liczbowe nie wymagają cudzysłowów. Wartości dat muszą być ujęte w pojedyncze cudzysłowy i w formacie „RRRR-MM-DD”.
  • [warunek GDZIE] Jest opcjonalny i można go użyć do zastosowania filtra ograniczającego liczbę wierszy objętych zapytaniem UPDATE. Pełna lista opcji znajduje się w MySQL Instrukcja dotycząca instrukcji UPDATE.

Przyjrzyjmy się teraz praktycznemu przykładowi aktualizacji danych w tabeli członków.

Zaktualizuj w MySQL Przykład

Załóżmy, że członkowie o numerach członkowskich 1 i 2 mają wprowadzić następujące aktualizacje do swoich rejestrów.

Numer członkowski Wymagane aktualizacje
1 Zmień numer kontaktowy z 999 na 0759 253 532
2 Zmień imię na Janet Smith Jones i zaktualizuj adres fizyczny na Melrose 123

Aktualizuj pojedynczą kolumnę

Zacznijmy od numeru członkostwa 1. Zanim dokonamy jakichkolwiek zmian, odzyskajmy ten rekord.

SELECT * FROM `members` WHERE `membership_number` = 1;

Wykonanie powyższego skryptu daje nam następujące wyniki.

numer_członkostwa pełne nazwy płeć data_urodzenia adres fizyczny adres_pocztowy numer kontaktowy E-mail
1 Żaneta Jones Kobieta 21-07-1980 Działka przy ulicy Pierwszej nr 4 Prywatna torba 999 janetjones@yagoo.cm

Zaktualizujmy teraz numer kontaktowy, korzystając ze skryptu pokazanego poniżej.

UPDATE `members` SET `contact_number` = '0759 253 532' WHERE `membership_number` = 1;

Wykonanie powyższego skryptu powoduje zmianę numeru kontaktowego z 999 na 0759 253 532 dla numeru członkowskiego 1. Ponowne uruchomienie polecenia SELECT potwierdza nową wartość.

numer_członkostwa pełne nazwy płeć data_urodzenia adres fizyczny adres_pocztowy numer kontaktowy E-mail
1 Żaneta Jones Kobieta 21-07-1980 Działka przy ulicy Pierwszej nr 4 Prywatna torba 0759 253 532 janetjones@yagoo.cm

Aktualizuj wiele kolumn

Numer członkostwa 2 wymaga jednoczesnej zmiany dwóch pól. To jest rekord przed aktualizacją.

numer_członkostwa pełne nazwy płeć data_urodzenia adres fizyczny adres_pocztowy numer kontaktowy E-mail
2 Smith Jones Kobieta 23-06-1980 Park Street NULL NULL jj@fstreet.com

Poniższy skrypt aktualizuje obie kolumny w jednym poleceniu. Zwróć uwagę na przecinek oddzielający oba przypisania.

UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2;

Wykonanie powyższego skryptu spowoduje aktualizację pełnego imienia i nazwiska osoby o numerze członkowskim 2 na Janet Smith Jones, a adresu fizycznego na Melrose 123.

numer_członkostwa pełne nazwy płeć data_urodzenia adres fizyczny adres_pocztowy numer kontaktowy E-mail
2 Janet Smith Jones Kobieta 23-06-1980 Melroza 123 NULL NULL jj@fstreet.com

💡 Wskazówka: "klauzula GDZIE„ to limit liczby wierszy objętych zapytaniem UPDATE. Pominięcie tego parametru spowoduje przepisanie każdego wiersza w tabeli.

FAQ

MySQL Zwraca liczbę „wierszy dopasowanych” i „wierszy zmienionych”. Parametr „wiersze dopasowane” pokazuje liczbę wierszy wybranych przez klauzulę WHERE, natomiast parametr „wiersze zmienione” wyklucza wiersze, których nowa wartość była identyczna ze starą.

Tak. Połącz UPDATE z DOŁĄCZ i odwołaj się do drugiej tabeli w klauzuli SET. Warunek łączenia decyduje, który wiersz źródłowy dostarcza nową wartość dla każdego wiersza docelowego.

Zapakuj to w transakcję. Polecenie START TRANSACTION, a następnie ROLLBACK przywraca stare wartości. Po zatwierdzeniu zmiany tylko kopia zapasowa może odzyskać poprzednie dane, dlatego najpierw przetestuj klauzulę WHERE z poleceniem SELECT.

Tak. Asystenci AI konwertują opisaną zmianę na składnię UPDATE i sugerują klauzulę WHERE. Podaj modelowi strukturę tabeli, a następnie zweryfikuj filtr za pomocą instrukcji SELECT przed uruchomieniem wygenerowanego zapytania.

Model sztucznej inteligencji nie widzi wierszy na żywo, więc nieznacznie błędna klauzula WHERE może po cichu nadpisać tysiące rekordów. RevPrzeglądaj każde wygenerowane polecenie, uruchamiaj je na kopii tymczasowej i przechowuj aktualną kopię zapasową.

Podsumuj ten post następująco: