UPDATE
изразът може да се използва за актуализиране на данни в таблица.
WHERE
клаузата може да се използва, за да се посочи точно кои редове трябва да бъдат актуализирани.
Можете да актуализирате всички редове, някои редове или нито един, в зависимост от условията за филтриране, приложени от WHERE
клауза.
Проста актуализация
Ето една проста актуализация, която променя номера на изпълнителя 16 до Майките на изобретенията :
UPDATE Artists SET ArtistName = 'Mothers of Invention' WHERE ArtistId = 16;
И проверете актуализацията с бърз SELECT
:
sqlite> SELECT * FROM Artists WHERE ArtistId = 16; ArtistId ArtistName Bio -------------------- -------------------------------------------------- ---------- 16 Mothers of Invention
Актуализиране на всички редове
Можете да актуализирате всички редове на таблица, просто като пропуснете WHERE
клауза.
Нека опитаме:
UPDATE Artists SET Bio = 'Australian jazz band centred around polyrhythms.';
И го проверете с SELECT
изявление:
sqlite> SELECT ArtistName, Bio FROM Artists; ArtistName Bio -------------------- -------------------------------------------------- Joe Satriani Australian jazz band centred around polyrhythms. Steve Vai Australian jazz band centred around polyrhythms. The Tea Party Australian jazz band centred around polyrhythms. Noiseworks Australian jazz band centred around polyrhythms. Wayne Jury Australian jazz band centred around polyrhythms. Mr Percival Australian jazz band centred around polyrhythms. Iron Maiden Australian jazz band centred around polyrhythms. Atmasphere Australian jazz band centred around polyrhythms. Ian Moss Australian jazz band centred around polyrhythms. Magnum Australian jazz band centred around polyrhythms. Strapping Young Lad Australian jazz band centred around polyrhythms. Slayer Australian jazz band centred around polyrhythms. Primus Australian jazz band centred around polyrhythms. Pat Metheny Australian jazz band centred around polyrhythms. Frank Gambale Australian jazz band centred around polyrhythms. Mothers of Invention Australian jazz band centred around polyrhythms. The Wiggles Australian jazz band centred around polyrhythms.
Опа! Не мисля, че всички тези групи са австралийски джаз групи, съсредоточени около полиритми.
Не се притеснявайте, можем да поправим това. Можем да зададем тази колона на NULL
за всички артисти, за които тази биография не се отнася. В този случай биографията се отнася само за идентификатор на изпълнител 8
така че ще нулираме всички редове, където
ArtistId
не е равно на
8
.
UPDATE Artists SET Bio = NULL WHERE ArtistId <> 8;
И сега биографията се съхранява само срещу правилния изпълнител.
sqlite> SELECT ArtistName, Bio FROM Artists; ArtistName Bio -------------------- -------------------------------------------------- Joe Satriani Steve Vai The Tea Party Noiseworks Wayne Jury Mr Percival Iron Maiden Atmasphere Australian jazz band centred around polyrhythms. Ian Moss Magnum Strapping Young Lad Slayer Primus Pat Metheny Frank Gambale Mothers of Invention The Wiggles
Внимавайте!
За нас е изключително удобно, че всички BIOS преди това съдържаха NULL
стойности. Това означаваше, че можем просто да ги върнем на NULL
и си тръгнете.
Това би било много по-сложно, ако другите изпълнители вече имаха пълна биография. Връщането им на NULL
не връща стария им биос. Затова бъдете внимателни, когато актуализирате данните.