Database
 sql >> база данни >  >> RDS >> Database

SQL АКТУАЛИЗАЦИЯ за начинаещи

Тази статия съдържа основния SQL UPDATE изрази, които начинаещите могат да използват, за да актуализират данни в таблиците на своите бази данни.

Актуализиране на една колона

Ето основен пример за SQL UPDATE изявление.

UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

В този случай актуализирахме стойността на една колона, наречена LastName .

UPDATE операторът започва с UPDATE , последвано от името на таблицата (т.е. таблицата, която съдържа данните, които искате да актуализирате).

След това има SET ключова дума, последвана от колоната, която искате да актуализирате, и новата стойност, разделена от равно (= ) оператор.

Винаги трябва да включвате WHERE клауза, освен ако не искате да актуализирате всички редове с една и съща стойност.

Да, правилно прочетохте. Пропускане на WHERE клаузата ще актуализира всички редове с една и съща стойност.

Повечето системи за управление на бази данни (СУБД) имат различни други опции, които можете да използвате с UPDATE изявление, но изброените тук са най-често използваните.

Актуализиране на няколко колони

За да актуализирате няколко колони, отделете всяка двойка колона/стойност със запетая.

UPDATE Owners
SET LastName = 'Stallone',
    Email = '[email protected]'
WHERE OwnerId = 3;

Пример

В този пример актуализираме таблица.

Първо, нека изберем съдържанието на таблицата.

SELECT * FROM Owners;

Резултат:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Simpson    | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Нанси Симпсън наскоро се омъжи и промени фамилното си име, така че ще актуализираме Simpson до Stallone .

Сега нека актуализираме тази колона, след което отново изберете таблицата.

UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

SELECT * FROM Owners;

Резултат:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Можем да видим, че колоната е актуализирана, както е посочено.

Актуализиране на няколко колони

Ето пример за актуализиране на множество колони.

UPDATE Owners
SET LastName = 'Biden',
    Email = '[email protected]'
WHERE OwnerId = 4;

SELECT * FROM Owners;

Резултат:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

В този случай актуализирахме фамилното име и имейл адреса на собственик 4.

Внимание! Забравяме WHERE Клауза

UPDATE изявлението може да бъде много опасно изявление, ако не запазите акъла си за вас. Ако пропуснете WHERE клауза, ще актуализирате всички редове в таблицата.

Нека повторим предишния пример, но този път ще забравим да включим WHERE клауза.

UPDATE Owners
SET LastName = 'Stallone';

SELECT * FROM Owners;

Резултат:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Stallone   | (308) 555-0100 | [email protected] |
| 2         | Bart        | Stallone   | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Stallone   | (349) 611-8908 | NULL              |
| 5         | Woody       | Stallone   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Опа! Сега фамилното име на всички е Сталоун!

Може да има моменти, в които всъщност възнамерявате да актуализирате всички редове в таблицата, но тези моменти обикновено са доста редки.

Когато изпълнявате ad hoc заявки, може да искате да изпълните бърз SELECT израз, който използва същото условие на вашия UPDATE операция преди реалното изпълнение на UPDATE операция.

SELECT * FROM Owners
WHERE OwnerId = 4;

Резултат:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Това ни показва точния ред, който ще бъде актуализиран. След като сме доволни, че връща правилния ред, можем да продължим и да използваме същия WHERE клауза в UPDATE изявление.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на Offline Reorg Wizard

  2. Защо да научите Касандра с Hadoop?

  3. Как да изберете правилните типове данни

  4. Типове SQL данни:5 най-лоши решения, които трябва да спрете днес

  5. Как филтрираните индекси могат да бъдат по-мощна функция