πŸ”„ Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² SQL Server: простой Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов

Для обновлСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² SQL Server ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UPDATE. Он позволяСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ значСния Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… строках Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ условия.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE:


UPDATE имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
SET столбСц1 = Π½ΠΎΠ²ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1, столбСц2 = Π½ΠΎΠ²ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2
WHERE условиС;

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ "имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹" - это имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ. "столбСц1" ΠΈ "столбСц2" - это ΠΈΠΌΠ΅Π½Π° столбцов, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. "Π½ΠΎΠ²ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1" ΠΈ "Π½ΠΎΠ²ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2" - это Π½ΠΎΠ²Ρ‹Π΅ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ столбцам. "условиС" - это условиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ строкам Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца "имя" Π½Π° "НовоС имя" для всСх строк, Π³Π΄Π΅ столбСц "возраст" Ρ€Π°Π²Π΅Π½ 25, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


UPDATE ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π’Π°Π±Π»ΠΈΡ†Ρ‹
SET имя = 'НовоС имя'
WHERE возраст = 25;

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² SQL Server?

ОбновлСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² SQL Server позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Для этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UPDATE. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΠΎΠΊΡ€ΠΎΠ΅ΠΌ основныС шаги для обновлСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π¨Π°Π³ 1: Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE

Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ синтаксисС:

  • table_name - это имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ.
  • column1, column2, ... - это столбцы, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.
  • value1, value2, ... - это Π½ΠΎΠ²Ρ‹Π΅ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ столбцам.
  • condition - это условиС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅, ΠΊΠ°ΠΊΠΈΠ΅ записи Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹.

Π¨Π°Π³ 2: ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ обновлСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° "Employees" с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ "FirstName", "LastName" ΠΈ "Salary". Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ОбновлСниС ΠΎΠ΄Π½ΠΎΠΉ записи


    UPDATE Employees
    SET Salary = 50000
    WHERE FirstName = 'John' AND LastName = 'Doe';
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ обновляСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца "Salary" Π½Π° 50000 для сотрудника с ΠΈΠΌΠ΅Π½Π΅ΠΌ "John" ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ "Doe".

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ОбновлСниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… записСй


    UPDATE Employees
    SET Salary = 55000
    WHERE Department = 'Sales';
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ обновляСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца "Salary" Π½Π° 55000 для всСх сотрудников ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»Π° "Sales".

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: ИспользованиС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ


    UPDATE Employees
    SET Salary = Salary * 1.1
    WHERE Department = 'Engineering';
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ обновляСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца "Salary" для всСх сотрудников ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»Π° "Engineering", увСличивая Π΅Π³ΠΎ Π½Π° 10% (Salary * 1.1).

Π¨Π°Π³ 3: Π’Π°ΠΆΠ½Ρ‹Π΅ сообраТСния

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ записи для обновлСния ΠΈ Ρ‡Ρ‚ΠΎ измСнСния Π½Π΅ поврСдят Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ….

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ условиС WHERE Ρ‚ΠΎΡ‡Π½ΠΎ опрСдСляСт Ρ‚Π΅ записи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ условиС ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ обновлСнию Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… записСй ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ цСлостности Π΄Π°Π½Π½Ρ‹Ρ….
  • Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ присваиваСтС столбцам. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹Π΅ измСнСния Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UPDATE ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΡŒ большоС количСство записСй. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои запросы ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ.

УспСшноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² SQL Server ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² вашСй Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ°ΠΌΡΡ‚Π°ΠΉΡ‚Π΅ ΠΎΠ± этих ΡˆΠ°Π³Π°Ρ… ΠΈ ΠΎΡΡ‚Π΅Ρ€Π΅Π³Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ОбновлСниС Π΄Π°Π½Π½Ρ‹Ρ… Π² Microsoft SQL Server (инструкция UPDATE) - Π²ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π£Ρ€ΠΎΠΊΠΈ SQL для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… / #3 - Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ записСй Π² Π‘Π”

Команда UPDATE (SQL для ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…)

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π‘Π” SQL: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство

πŸ”„ Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² SQL Server: простой Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов

Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ SQL Server 2012 Π΄ΠΎ 2016: ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΈ совСты

πŸ”„ Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ SQL Server 2008 R2 Π΄ΠΎ 2014: ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ вашСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…!