sql >> Databáze >  >> RDS >> Mysql

Aktualizovat dotaz pro aktualizaci řádků v MySQL

Tento tutoriál je součástí série Naučte se základní SQL dotazy pomocí MySQL. V tomto tutoriálu probereme dotazy SQL pro aktualizaci řádků nebo data tabulky v MySQL.

Aktualizovat dotaz

Příkaz UPDATE lze použít k úpravě nebo aktualizaci řádků tabulky pomocí klíčového slova SET. V případě, že jste vzdáleně přihlášeni k databázi, budete také potřebovat oprávnění UPDATE pro tabulku, abyste mohli číst řádky z tabulky.

# UPDATE - Syntax
UPDATE `table_name` SET `column_1` = <value>, `column_2` = <value> ... [WHERE <single or multiple filter conditions>];

Vysvětlení dotazu

Příkaz MySQL UPDATE lze použít k úpravě řádků nebo dat daného názvu tabulky, kde je povinný název sloupce, hodnota řádku a název tabulky. SET klíčové slovo je vyžadováno pro nastavení nové hodnoty sloupce.

Při použití dotazu UPDATE musíme zadat alespoň jeden sloupec a jeho novou hodnotu. V případě, že se jedná o řetězcovou hodnotu, musí být hodnota uzavřena v jednoduchých uvozovkách.

Musíme také specifikovat podmínky, které je třeba vzít v úvahu při aktualizaci řádků. Použití klauzule WHERE s příkazem UPDATE je vyžadováno tam, kde potřebujeme selektivně aktualizovat řádky, které je ideální scénář. Při použití příkazu UPDATE můžeme vynechat použití WHERE, ale v případě, že jsou data tabulky velká, povede to k problémům s výkonem.

Příklady

Tato část obsahuje příklady aktualizace řádků tabulky pomocí příkazu UPDATE. Pomocí níže uvedeného dotazu vytvořte uživatelskou tabulku obsahující sloupce id, jméno, příjmení a aktivní sloupce pro uložení uživatelských dat.

# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));

K vložení dat do uživatelské tabulky lze použít níže uvedený dotaz.

# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'Catherine', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );

Výše zmíněný dotaz vloží do tabulky 5 řádků obsahujících id, jméno, příjmení a aktivní sloupce, které představují 5 různých uživatelů.

Nyní aktualizujeme námi vložená data v uživatelské tabulce. To lze provést pomocí příkazu UPDATE, jak je znázorněno níže.

# UPDATE - Activate all the inactive users - without key column
UPDATE `user` SET `active` = 1 WHERE `active` = 0;

# Notes - Workbench - You might need to disable safe updates in case the primary key is not used in WHERE clause
SET SQL_SAFE_UPDATES = 0;
UPDATE `user` SET `active` = 1 WHERE `active` = 0;
SET SQL_SAFE_UPDATES = 0;

# Result
1 John Smith 1
2 Rick Jones 1
3 Catherine Ponting 1
4 Harsh Upadhyay 1
5 Tajwinder Singh 1


# UPDATE - Deactivate selective users - with key column
UPDATE `user` SET `active` = 0 WHERE `user_id` = 1;
UPDATE `user` SET `active` = 0 WHERE `user_id` IN( 3, 5 );

# Result
1 John Smith 0
2 Rick Jones 1
3 Catherine Ponting 0
4 Harsh Upadhyay 1
5 Tajwinder Singh 0

Výše uvedené dotazy aktualizují uživatelskou tabulku pomocí klauzule WHERE. Řádky tabulky budou aktualizovány, pokud řádek splní dané podmínky.

Můžeme také aktualizovat více hodnot sloupců, jak je uvedeno níže.

# UPDATE - Modify first name and last name of first user
UPDATE `user` SET `first_name` = 'Roy', `last_name` = 'Jordan' WHERE `user_id` = 1;

# Result
1 Roy Jordan 0
2 Rick Jones 1
3 Catherine Ponting 0
4 Harsh Upadhyay 1
5 Tajwinder Singh 0

Takto můžeme upravit data uložená v tabulkách MySQL.


  1. Jak vytvořit složený cizí klíč v SQL Server (příklad T-SQL)

  2. Vytváření funkcí v phpMyAdmin - Chyba:přístup odepřen, pro tuto operaci potřebujete super oprávnění

  3. Funkce SIN() v Oracle

  4. Jak nastavit pojmenovaná časová pásma v MariaDB