Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zaktualizuj zapytanie, aby zaktualizować wiersze w MySQL

Ten samouczek jest częścią serii Naucz się podstawowych zapytań SQL przy użyciu MySQL. W tym samouczku omówimy zapytania SQL w celu aktualizacji wierszy lub dane tabeli w MySQL.

Aktualizuj zapytanie

Polecenie AKTUALIZUJ może służyć do modyfikowania lub aktualizowania wierszy tabeli za pomocą słowa kluczowego SET. Jeśli jesteś zdalnie zalogowany do bazy danych, będziesz potrzebować również uprawnienia UPDATE dla tabeli, aby odczytać wiersze z tabeli.

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

Objaśnienie zapytania

Polecenie MySQL AKTUALIZUJ może służyć do modyfikacji wierszy lub danych o podanej nazwie tabeli, gdzie nazwa kolumny, wartość wiersza i nazwa tabeli są obowiązkowe. ZESTAW słowo kluczowe jest wymagane w celu ustawienia nowej wartości kolumny.

Musimy podać co najmniej jedną kolumnę i jest to nowa wartość podczas korzystania z zapytania UPDATE. Wartość musi być ujęta w pojedynczy cudzysłów, jeśli jest wartością ciągu.

Musimy również określić warunki, które należy wziąć pod uwagę podczas aktualizacji wierszy. Użycie klauzuli WHERE z poleceniem UPDATE jest wymagane, gdy musimy selektywnie aktualizować wiersze, które jest idealny scenariusz. Możemy pominąć użycie WHERE podczas używania polecenia UPDATE, ale doprowadzi to do problemów z wydajnością w przypadku dużych danych w tabeli.

Przykłady

Ta sekcja zawiera przykłady aktualizacji wierszy tabeli za pomocą polecenia UPDATE. Użyj poniższego zapytania, aby utworzyć tabelę użytkowników zawierającą identyfikator, imię, nazwisko i aktywne kolumny do przechowywania danych użytkownika.

# 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`));

Poniższe zapytanie może zostać użyte do wstawienia danych do tabeli użytkowników.

# 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 );

Wspomniane powyżej zapytanie wstawi do tabeli 5 wierszy z identyfikatorem, imieniem, nazwiskiem i aktywnymi kolumnami reprezentującymi 5 różnych użytkowników.

Teraz zaktualizujemy dane wstawione przez nas w tabeli użytkowników. Można to zrobić za pomocą polecenia UPDATE, jak pokazano poniżej.

# 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

Powyższe zapytania aktualizują tabelę użytkowników za pomocą klauzuli WHERE. Wiersze tabeli zostaną zaktualizowane w przypadku, gdy wiersz spełnia podane warunki.

Możemy również zaktualizować wartości wielu kolumn, jak pokazano poniżej.

# 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

W ten sposób możemy modyfikować dane przechowywane w tabelach MySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać dzisiejsze rekordy w MySQL

  2. Różnica między typem danych zmiennoprzecinkowych i dziesiętnych

  3. Zaktualizuj tryb SQL w MySQL

  4. Jak ustawić domyślną wartość dla kolumny MySQL Datetime?

  5. Format daty MySQL