Видео курс и бесплатные уроки по SQL и реляционным базам данных для начинающих и не только
Привет, уважаемый читатель! Этой записью я открою новую рубрику на свое блоге, в которой буду…
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. В прошлых записях мы с тобой познакомились с двумя командами, относящимися к группе DML. Если не помнишь, то это были: оператор SELECT и команда INSERT. Теперь мы с тобой рассмотрим команду UPDATE. В этой статье мы: ознакомимся с синтаксисом команды UPDATE в SQLite3 и посмотрим несколько примеров работы оператора UPDATE в SQLite. Если ты еще не знаешь, то UPDATE позволяет модифицировать строки в базах данных.
Содержание статьи:
В библиотеке SQLite3, как и в любой реляционной СУБД можно обновлять значения строк таблицы, для обновления значения строк в SQLite3 используется команда UPDATE, команда UPDATE в SQLite3 используется только для обновления строк в таблице. Давайте посмотрим на общий синтаксис оператора UPDATE в SQLite3.
Синтаксис команды UPDATE в SQLite3 очень прост: сначала идет ключевое слово UPDATE, за которым следует имя таблицы, которую нам необходимо модифицировать, после имени таблиц следует ключевое слово SET, в которое вписывается имя столбца и новое значения, а теперь ключевой момент, для идентификации строки, которую нам необходимо модифицировать используется ключевое слово WHERE обычно после WHERE указывается ключевой столбец со значением, которое позволяет однозначно определить строку.
Рассмотрим примеры оператора UPDATE в SQLite3. У нас уже есть тестовая таблица, которая получилась после рассмотрения команды INSERT, предлагаю использовать ее. Если у вас нет такой таблицы, то просто повторите все запросы из прошлой части. Допустим нам необходимо изменить возраст у Петрова, давайте посмотрим, как это сделать при помощи команды UPDATE.
[php]
— Применим команду UPDATEдля изменения значения в первой строке
UPDATE table1 SET d = 55 WHERE a = 1;
— Проверим результат внесенных изменений
SELECT * FROMtable1;
[/php]
После выполнения команды UPDATE, SQLite3 нам покажет вот такую таблицу:
[php]
sqlite> SELECT * FROM table1;
a b c d
1 Петров Русский 55
2 Нурутдинов Татарин 28
3 Иванько Украинец 31
4 Горлукович Белорус 18
5 Сейтаридис Грек 48
sqlite>
[/php]
Хочу обратить ваше внимание на то, что оператор UPDATE в SQLite3 позволяет изменять несколько значений в строке, для этого через запятую указываем столбцы и новые значения, когда применяем команду UPDATE. Давайте изменим третью строку при помощи команды UPDATE.
[php]
— Применим команду UPDATEдля изменения значения в первой строке
UPDATE table1 SET b = ‘Гунько’, d = 21 WHERE a = 3;
— Проверим результат внесенных изменений
SELECT * FROMtable1;
[/php]
А вот результат работы команды UPDATE:
[php]
sqlite> SELECT * FROM table1;
a b c d
1 Петров Русский 55
2 Нурутдинов Татарин 28
3 Гунько Украинец 21
4 Горлукович Белорус 18
5 Сейтаридис Грек 48
sqlite>
[/php]
Бывают ситуации, особенно в базах данных SQLite3, ну уж очень часто, когда у вас нет ключевого атрибута и вы не можете однозначно определить строку при помощи одного столбца и его значения, тогда вам следует использовать операторы AND или OR. Давайте попробуем это сделать.
[php]
— Сначала продублируем пятую строку, изменив только возраст на 18
INSERT INTO table1 VALUES (5, ‘Сейтаридис’, ‘Грек’, 18);
— И выведем это всё на экран
SELECT * FROMtable1;
[/php]
В результате мы получим вот такую таблицу:
[php]
a b c d
1 Петров Русский 55
2 Нурутдинов Татарин 28
3 Гунько Украинец 21
4 Горлукович Белорус 18
5 Сейтаридис Грек 48
5 Сейтаридис Грек 18
sqlite>
[/php]
Теперь мы не сможем однозначно определить строку по первому столбцу, как и по всем остальным, поэтому, чтобы воспользоваться командой UPDATE нам необходимо задать несколько критериев (несколько условий).
[php]
— Изменим значение столбца «а» на 6, воспользовавшись несколькими условиями
UPDATE table1 SET a = 6 WHERE d = 18 AND c = ‘Грек’;
— Посмотрим, что все изменения были выполнены успешно
SELECT * FROMtable1;
[/php]
В результате применения оператора UPDATE, а затем SELECT, SQLite3 выдаст нам такую таблицу:
a b c d
1 Петров Русский 55
2 Нурутдинов Татарин 28
3 Гунько Украинец 21
4 Горлукович Белорус 18
5 Сейтаридис Грек 48
6 Сейтаридис Грек 18
На этом мы закончим рассмотрение команды UPDATE в SQLite3, но несколько раз в дальнейшем мы к ней вернемся.
Выберете удобный для себя способ, чтобы оставить комментарий