Изменение данных таблиц SQL

Вставка, обновление, удаление

Здравствуйте и вновь добро пожаловать на занятия по теме «SQL для маркетологов».

В этой лекции мы поговорим о том, как изменять данные в таблице. Для этого существует три основные операции: вставка, обновление и удаление.

Допустим, мы хотим вставить новую строку в таблицу. Предположим, мы рассматриваем таблицу «Заказы» и пусть Джон покупает манго, так что в поле «Действие» надо записать «Покупка». Как вставить эту информацию в базу данных? В общем случае синтаксис таков:

INSERT INTO название_таблицы VALUES (?, ?, …);

Здесь после служебного слова VALUES указываются значения каждого столбца.

А что, если мы хотим вставить лишь определённые столбцы, а значения остальных оставить по умолчанию? В таких случаях надо указать столбцы, значения которых мы указываем, а затем действительные значения, например:

INSERT INTO user_actions (name, product, action)

VALUES (‘John’, ‘Mango’, ‘Purchase’);

Проверим теперь всё это в командной строке. Вставим в таблицу «user_actions» имя, продукт и действие со значениями «Джон», «манго», «покупка» и проверим, что получится:

insert into user_actions (name, product, action) values (‘John’, ‘Mango’, ‘purchase’);

select * from user_actions where name = ‘John’;

Мы можем видеть только что добавленную строку. Обратите внимание, что нет поля «Стоимость», поскольку его значение установлено по умолчанию.

Теперь рассмотрим процесс обновления. Допустим, стоимость манго Джона равна 2,99. Синтаксис для обновления таблицы следующий:

UPDATE имя_таблицы

SET столбец1=значение1, столбец2=значение2, …

WHERE условие;

В нашем случае команда будет выглядеть так:

update user_actions set price=2.99 where name=’John’;

Проверим:

select * from user_actions where name = ‘John’;

Видим, что теперь указана цена – 2,99.

Теперь предположим, что нам надо избавиться от нашей новой строки. Синтаксис удаления таков:

DELETE FROM имя_таблицы

WHERE условие;

В нашем случае команда будет выглядеть следующим образом:

delete from user_actions where name = ‘John’;

Теперь если мы сделаем повторный запрос, то ничего не получим – ведь строка с именем «Джон» удалена.

 

Что такое CRUD?

Проведем аналогию между SQL и веб-разработкой.

Во множестве случаев отделение данных от приложения даёт нам удачную архитектуру, при которой мы можем разделять данные, пользовательский интерфейс и код приложения. Это можно рассматривать как схему «Модель-Вид-Контроллер» (Model-View-Controller, сокращённо MVC).

Пользовательский интерфейс – это то, что вы видите в браузере, вроде HTML, CSS или Java-скрипт. Код приложения – это серверный язык вроде PHP, Ruby или Python. База данных может быть с поддержкой SQL или без таковой, как MongoDB или Redis.

Примечательно, что работу приложения, принимающего и отвечающего на HTTP-запросы, можно описать теми же словами, что и работу SQL. Мы можем обобщить их в виде слов «создать, прочесть, обновить, удалить» – на английском языке «create, read, update, delete», сокращённо CRUD. Так, понятию «создать» соответствует команда insert в SQL и команда post в HTTP, понятию «прочесть» – select в SQL и get в HTTP, понятию «обновить» – update в SQL и put в HTTP, ну а «удалить» – команде delete в обоих случаях.

Разработчикам приложений весьма важно помнить об этом, поскольку при разработке веб-приложений у них есть большая свобода действий и технически они могут удалять или видоизменять строки в базе данных по запросу, – что плохо.

Понравилась статья? Поделить с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: