Při používání databází můžeme často chtít aktualizovat několik datových hodnot buď v jednom záznamu, nebo pro více záznamů. Structured Query Language (SQL) poskytuje různé příkazy pro přístup, načítání a správu databází. Jedním z těchto příkazů je příkaz UPDATE. Příkaz UPDATE se používá k aktualizaci dat existujících v tabulce. Tento článek bude obsahovat následující témata:
- UPDATE prohlášení
- Syntaxe
- Příklady:
- Aktualizovat jeden záznam
- Použijte příkaz pro více záznamů
- Aktualizujte data vynecháním klauzule WHERE
- Použijte příkaz k aktualizaci dat z jiné tabulky
Příkaz SQL UPDATE
Příkaz UPDATE se používá k úpravě jednoho záznamu nebo více záznamů existujících v tabulce.
Syntaxe:
UPDATE TableName SET Column1 = Value1, Column2 = Value2, …, ColumnN = ValueN WHERE Condition;
Zde je klauzule WHERE určuje, které záznamy je třeba aktualizovat. Pro případ, že vynecháte klauzuli WHERE, budou aktualizovány všechny záznamy existující v tabulce.
Protože jste porozuměli syntaxi, pojďme nyní probrat různé způsoby jejího použití na příkladech.
Příklady:
Pro lepší pochopení jsem příklady rozdělil do následujících sekcí:
- Aktualizovat jeden záznam
- Použijte příkaz pro více záznamů
- Aktualizujte data vynecháním klauzule WHERE
- Použijte příkaz k aktualizaci dat z jiné tabulky
Abych vám vysvětlil příklady, zvážím následující tabulku:
EmpID | EmpName | EmpEmail | Telefonní číslo | Město |
1 | Mohan | 9966449966 | Dillí | |
2 | Sonia | 9746964799 | Bombaj | |
3 | Sanjay | 9654323456 | Bengalúrsko | |
4 | Avni | 9876543678 | Bombaj | |
5 | Rahul | 9542456786 | Dillí |
Pojďme se podívat na každou z nich.
Aktualizovat jeden záznam
Příklad:
Napište dotaz pro aktualizaci 3. zaměstnance (ID zaměstnance) s novým telefonním číslem a městem.
UPDATE Employees SET PhoneNumber ='9646879876', City= 'Kolkata' WHERE EmpID = 3;
Výstup:
Jako výstup se zobrazí následující tabulka:
EmpID | EmpName | EmpEmail | Telefonní číslo | Město |
1 | Mohan | 9966449966 | Dillí | |
2 | Sonia | 9746964799 | Bombaj | |
3 | Sanjay | 9646879876 | Kalkata | |
4 | Avni | 9876543678 | Bombaj | |
5 | Rahul | 9542456786 | Dillí |
Dále v tomto článku pochopíme, jak aktualizovat hodnoty dat ve více záznamech.
Aktualizovat více záznamů
Pro aktualizaci více záznamů v tabulce musíme použít klauzuli WHERE. Klauzule WHERE určuje počet záznamů, které budou aktualizovány.
Příklad:
Napište dotaz pro aktualizaci EmpE-mailu zaměstnanců na [email protected] pro všechny záznamy s názvem města Dillí.
UPDATE Employees Set EmpEmail = '[email protected]’ WHERE City =‘Delhi’;
Výstup:
Jako výstup se zobrazí následující tabulka:
EmpID | EmpName | EmpEmail | Telefonní číslo | Město |
1 | Mohan | 9966449966 | Dillí | |
2 | Sonia | 9746964799 | Bombaj | |
3 | Sanjay | 9646879876 | Kalkata | |
4 | Avni | 9876543678 | Bombaj | |
5 | Rahul | 9542456786 | Dillí |
Pokračujeme v tomto článku, abychom pochopili, jak aktualizovat data tabulky vynecháním klauzule WHERE.
Aktualizujte data vynecháním klauzule WHERE
Když při použití příkazu UPDATE v SQL vynecháme klauzuli WHERE, pak není nastaven žádný limit na počet záznamů, které je třeba aktualizovat. Takže všechny záznamy budou aktualizovány automaticky.
Příklad:
Napište dotaz a aktualizujte e-maily zaměstnanců na [email protected].
UPDATE Employees Set EmpEmail = '[email protected]’;
Výstup:
Uvidíte následující tabulku jako výstup:
EmpID | EmpName | EmpEmail | Telefonní číslo | Město |
1 | Mohan | 9966449966 | Dillí | |
2 | Sonia | 9746964799 | Bombaj | |
3 | Sanjay | 9646879876 | Kalkata | |
4 | Avni | 9876543678 | Bombaj | |
5 | Rahul | 9542456786 | Dillí |
Dále v tomto článku pochopíme, jak aktualizovat data konkrétní tabulky z jiné tabulky.
Aktualizujte data z jiné tabulky
Příkaz UPDATE můžeme použít k aktualizaci dat konkrétní tabulky s ohledem na data jiné tabulky.
Podívejme se na následující tabulku:
Číslo kontaktu | Jméno kontaktu | Kontaktní e-mail | Telefonní číslo | Město |
1 | Mohan Sharma | 9962449966 | Dillí | |
2 | Sonia Khanna | 9461964799 | Bombaj | |
3 | Sanjay Kapoor | 9719879876 | Kalkata | |
4 | Avni Mishra | 9889743678 | Bombaj | |
5 | Rahul Roy | 9818256786 | Dillí |
Příklad:
Napište dotaz na aktualizaci jmen zaměstnanců tím, že převezmete data z tabulky kontaktů.
UPDATE Employees SET EmpName = (SELECT EmpName FROM Contacts WHERE Contacts.City = Employees.City);
Výstup:
Jako výstup se zobrazí následující tabulka:
EmpID | EmpName | EmpEmail | Telefonní číslo | Město |
1 | Mohan Sharma | 9966449966 | Dillí | |
2 | Sonia Khanna | 9746964799 | Bombaj | |
3 | Sanjay Kapoor | 9646879876 | Kalkata | |
4 | Avni Mishra | 9876543678 | Bombaj | |
5 | Rahul Roy | 9542456786 | Dillí |
Výše uvedený dotaz můžeme také přepsat následovně:
UPDATE Employees SET Employees.EmpName = Contacts.EmpName FROM Employees INNER JOIN Contacts ON (Employees.City = Contacts.City);
Takže, přátelé, takto můžete použít příkaz UPDATE v SQL. Tím se dostáváme ke konci tohoto článku o SQL UPDATE. Doufám, že vám tento článek přinesl informace.
Pokud se chcete dozvědět více o MySQL a seznamte se s touto relační databází s otevřeným zdrojovým kódem, pak se podívejte na naši Certifikační školení MySQL DBA který přichází s živým školením vedeným instruktorem a zkušenostmi z reálného života. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí tohoto předmětu.
Máte na nás otázku? Zmiňte to prosím v sekci komentářů k tomuto článku o „SQL UPDATE“ a já se vám ozvu.