Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Atualizar consulta para atualizar linhas no MySQL


Este tutorial faz parte da série Aprenda consultas básicas de SQL usando MySQL. Neste tutorial, discutiremos consultas SQL para atualizar as linhas ou dados de uma tabela no MySQL.


Atualizar consulta




O comando ATUALIZAR pode ser usado para modificar ou atualizar linhas de uma tabela usando a palavra-chave SET. Caso você esteja conectado remotamente ao banco de dados, você também precisará do privilégio UPDATE para a tabela para ler as linhas de uma tabela.


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


Explicação da consulta




O comando MySQL UPDATE pode ser usado para modificar linhas ou dados de um determinado nome de tabela, onde o nome da coluna, o valor da linha e o nome da tabela são obrigatórios. O CONJUNTO palavra-chave é necessária para definir o novo valor da coluna.



Temos que especificar pelo menos uma coluna e seu novo valor ao usar a consulta UPDATE. O valor deve ser colocado entre aspas simples caso seja um valor de string.



Também precisamos especificar as condições a serem consideradas ao atualizar as linhas. O uso da cláusula WHERE com o comando UPDATE é necessário onde precisamos atualizar seletivamente as linhas que é o cenário ideal. Podemos omitir o uso de WHERE ao usar o comando UPDATE, mas isso levará a problemas de desempenho caso os dados da tabela sejam grandes.


Exemplos




Esta seção fornece exemplos para atualizar linhas da tabela usando o comando UPDATE. Use a consulta mencionada abaixo para criar a tabela de usuário com o id, nome, sobrenome e colunas ativas para armazenar os dados do usuário.


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



A consulta abaixo mencionada pode ser usada para inserir dados na tabela do usuário.


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



A consulta acima mencionada irá inserir 5 linhas na tabela com o id, primeiro nome, sobrenome e colunas ativas para representar 5 usuários diferentes.



Agora vamos atualizar os dados inseridos por nós na tabela do usuário. Isso pode ser feito usando o comando UPDATE como mostrado abaixo.


# 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



As consultas mencionadas acima atualizam a tabela de usuários usando a cláusula WHERE. As linhas da tabela serão atualizadas caso a linha atenda às condições fornecidas.



Também podemos atualizar vários valores de coluna, conforme mostrado abaixo.


# 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



É assim que podemos modificar os dados armazenados nas tabelas do MySQL.