sql >> Database >  >> RDS >> Mysql

Update-query om rijen in MySQL bij te werken

Deze tutorial maakt deel uit van de serie Learn Basic SQL Queries Using MySQL. In deze zelfstudie bespreken we SQL-query's om de rijen bij te werken of gegevens van een tabel in MySQL.

Zoekopdracht bijwerken

Het commando UPDATE kan worden gebruikt om rijen van een tabel te wijzigen of bij te werken met het trefwoord SET. Als u op afstand bent aangemeld bij de database, hebt u ook het recht UPDATE voor de tabel nodig om de rijen uit een tabel te lezen.

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

Uitleg zoekopdracht

Het MySQL-commando UPDATE kan worden gebruikt om rijen of gegevens van de opgegeven tabelnaam te wijzigen, waarbij de kolomnaam, de rijwaarde en de naam van de tabel verplicht zijn. De SET zoekwoord is vereist om de nieuwe kolomwaarde in te stellen.

We moeten ten minste één kolom specificeren en de nieuwe waarde ervan tijdens het gebruik van de UPDATE-query. De waarde moet tussen het enkele aanhalingsteken staan ​​voor het geval het een tekenreekswaarde is.

We moeten ook de voorwaarden specificeren waarmee rekening moet worden gehouden bij het bijwerken van de rijen. Het gebruik van de WHERE-clausule met de opdracht UPDATE is vereist wanneer we selectief de rijen moeten bijwerken die is het ideale scenario. We kunnen het gebruik van WHERE tijdens het gebruik van de opdracht UPDATE achterwege laten, maar dit leidt tot prestatieproblemen als de tabelgegevens groot zijn.

Voorbeelden

Deze sectie bevat voorbeelden om rijen van de tabel bij te werken met de opdracht UPDATE. Gebruik de onderstaande query om de gebruikerstabel te maken met de id, voornaam, achternaam en actieve kolommen om gebruikersgegevens op te slaan.

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

De onderstaande query kan worden gebruikt om gegevens in de gebruikerstabel in te voegen.

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

De bovengenoemde zoekopdracht voegt 5 rijen in de tabel in met de id, voornaam, achternaam en actieve kolommen om 5 verschillende gebruikers te vertegenwoordigen.

Nu zullen we de door ons ingevoegde gegevens in de gebruikerstabel bijwerken. Dit kan gedaan worden met het UPDATE-commando zoals hieronder getoond.

# 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

De bovengenoemde query's werken de gebruikerstabel bij met behulp van de WHERE-component. De tabelrijen worden bijgewerkt als de rij aan de gegeven voorwaarden voldoet.

We kunnen ook meerdere kolomwaarden bijwerken, zoals hieronder weergegeven.

# 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

Op deze manier kunnen we de gegevens die zijn opgeslagen in de MySQL-tabellen wijzigen.


  1. SQLite - Gegevens importeren uit een CSV-bestand

  2. Moet ik de CASCADE DELETE-regel gebruiken?

  3. SQL Express opstarten vanuit WiX?

  4. SQL Server 2016:een database herstellen