MySQL Aktualizacja Dołącz do aktualizacji stołowej

MySQL Aktualizacja Dołącz do aktualizacji stołowej

W najnowszych wersjach MySQL możesz wykonać aktualiza. Korzystając z MySQL Join (wewnętrzny i po lewej) i zaktualizuj zapytanie, możemy wykonać aktualizację między stołami w bardzo prostych krokach.

Ten samouczek przejdzie do tego, jak wykonywać aktualizacje między stołami MySQL za pomocą natywnych poleceń MySQL.

Podstawowa składnia

Ogólna składnia dla podstawowego zapytania do dołączenia do aktualizacji MySQL jest:

Zaktualizuj db.Tabela 1, db.Tabela 2,
[Left dołącz | Wewnętrzne dołączenie] db.Tabela 1 na db.Tabela 1.kolumna1 = db.Tabela 2.kolumna 2
Ustaw db.Tabela 1.colum2 = db.Tabela 2.Kolumna2, db.Tabela 2.kolumna3 = wyrażenie
Gdzie [warunek]

Rozbijmy powyższe zapytanie na mniejsze części, abyśmy mogli je lepiej zrozumieć.

Zaczynamy od zdefiniowania głównego stołu. W tym przypadku, (db.Tabela 1), a następnie tabelę.Tabela 2.

NOTATKA: Ważne jest, aby określić co najmniej jedną tabelę po instrukcji aktualizacji; W przeciwnym razie wiersze w tabeli nie będą aktualizować po zapytaniu.

W drugiej części zapytania określamy konkretny rodzaj połączenia, który chcemy wykonać, ja.mi., Wewnętrzny lub lewy dołączenie i predykat połączenia. Zawsze ustawiaj zapytanie połączenia natychmiast po zapytaniu aktualizacji.

Predykat połączenia to konkretny warunek połączenia, który ocenia wartość logiczną.

W poniższej części ustawiamy nowe wartości na kolumnach DB.Tabela 1 i db.Tabela 2.

Na koniec ustawiamy warunek za pomocą klauzuli Where, która pomaga ograniczyć wiersze, które przechodzą aktualizację.

Przykładowy przypadek użycia

Załóżmy, że masz dwie tabele, zwane TB1 i TB2; Rozważ zapytanie poniżej, aby utworzyć tabele i dodać dane.

Utwórz bazę danych, jeśli nie istnieje próbka_db;
Użyj próbki_db;
Utwórz tabelę TB1 (
col1 int (11) nie null,
col2 int not null,
Klucz podstawowy (col1)
);
Utwórz tabelę TB2 (
col1 int not null auto_increment,
col2 varchar (100) nie null,
col3 int domyślny null,
col4 int domyślny null,
Klucz podstawowy (col1)
);
Wstaw do wartości TB1 (col1, col2) (1,0), (2,1), (3,3), (4,4), (5,5);
Wstaw do wartości TB2 (col2, col3, col4) („First”, 1, 500), („drugi”, 2, 1000), („trzeci”, 3, 1500), („czwarty”, 4, 2000) , („Fifth”, 5, 2500);

W tabelach utworzonych za pomocą powyższego zapytania możemy wykonać zapytanie aktualizacyjne za pomocą instrukcji Inner Cound, ponieważ tabele są połączone na col2.

Rozważ pytanie poniżej:

Użyj próbki_db;
Zaktualizuj TB2 Wewnętrzne dołączenie do TB1 na TB2.col3 = TB1.col1 set col3 = col4 + col4 * 5;

Ponieważ chcemy zaktualizować dane w drugiej tabeli (col3), w których otrzymujemy wartości kolumn i mnożyć przez 5, w powyższym przykładzie, wyciągamy warunek, ponieważ chcemy zaktualizować wszystkie rekordy w określonej tabeli.

Możesz to potwierdzić za pomocą zapytania Select, jak pokazano poniżej:

Wybierz * z próbki_db.TB2;

Wyjście, jak pokazano poniżej:

mysql> wybierz * z próbki_db.TB2;
+------+--------+-------+------+
|. col1 | col2 | col3 | col4 |
+------+--------+-------+------+
|. 1 | Pierwszy | 3000 | 500 |
|. 2 | Drugi | 6000 | 1000 |
|. 3 | Trzeci | 9000 | 1500 |
|. 4 | Czwarty | 12000 | 2000 |
|. 5 | Piąty | 15000 | 2500 |
+------+--------+-------+------+
5 wierszy w zestawie (0.00 s)

Wniosek

W tym szybkim samouczku omówiliśmy, jak korzystać z zapytania o dołączenie aktualizacji MySQL, które pozwala na połączenie tabel i odpowiednio aktualizować wartości.

Aby dowiedzieć się więcej o tym, jak możesz rozszerzyć tę funkcję, rozważ zasoby podane poniżej:

https: // dev.Mysql.com/doc/refman/8.0/en/aktualizacja.html

https: // dev.Mysql.com/doc/refman/8.0/en/dołącz.html