Читаем SQL: быстрое погружение полностью

Еще один способ добавить значения в таблицу — перечислить значения последовательно по имени поля. В этом случае не нужно указывать столбцы, в которых должны храниться данные. Однако в этом случае при написании команды INSERT необходимо быть внимательным, чтобы гарантировать, что порядок, в котором данные указываются в команде INSERT, совпадает с порядком перечисления полей в таблице.

Рассмотрим пример добавления новой записи в таблицу employees.

INSERT INTO

employees

VALUES ('9', 'Martin', 'Ricky', 'Sales Support Agent', '2', '1975-02-07', '2018-01-05', '123 Houston St', 'New York', 'NY', 'United States', '11201', '(347) 525-8588', '', '[email protected]')

Рис. 127

Очень важно проследить, чтобы порядок, в котором данные указываются в команде INSERT, соответствовал порядку следования полей в целевой таблице. Поэтому рекомендуется сначала изучить целевую таблицу, и обратите внимание на порядок, в котором появляются поля.

На вкладке Database Structure (Структура базы данных) мы видим структуру таблицы employees. При использовании команды INSERT поля от EmployeeId до Email должны быть указаны именно в таком порядке.

<p id="практические_задания_15">Практические задания</p>

• Проанализируйте результат выполнения команды INSERT.

• У нового сотрудника, Ricky Martin, нет номера факса. Как это будет выражено в условии INSERT?

• Вставьте новую запись (сотрудника) в таблицу employees.

• Выполните запрос еще раз, но используйте существующий первичный ключ. Какое сообщение об ошибке вы получите?

Внимание

При добавлении новых записей, в которых для какого-либо поля не существует значения, вам необходимо добавить пару пустых кавычек ' ' для этого несуществующего значения. В приведенном выше примере мы пропустили номер факса при помощи пары пустых кавычек в таблице employees.

<p id="_14_xhtml_2523toc_marker_14_2"><strong>Обновление данных и ключевое слово SET</strong></p>

Команда UPDATE используется для изменения существующих данных в таблице. Как правило, команда UPDATE применяется с условием WHERE. Условие WHERE необходимо для указания строк, которые будут обновлены. Без условия WHERE оператор UPDATE обновит все содержащиеся в таблице строки.

Следующий оператор обновляет запись о сотруднике, которую мы добавили в предыдущем разделе:

UPDATE

employees

SET PostalCode = '11202'

WHERE

EmployeeId = 9

Внимание

Если сотрудники еще не добавлены, выполнение этого кода приведет к ошибке NoSuchColumn (Столбец не существует).

Анализируя предыдущий синтаксис, мы видим, что таблица employees указывается после ключевого слова UPDATE. Затем следует ключевое слово SET, и именно здесь указан столбец в таблице employees, который необходимо обновить. В нашем примере это поле PostalCode. За ним следует знак равенства = и новое значение, которое заменит старое значение. В нашем примере это значение '11202' (заключено в одинарные кавычки, так как почтовый индекс является строковым значением). После ключевого слова SET следует условие WHERE, которое позволяет нам точно указать, какую запись о сотруднике мы собираемся обновить. Запись EmployeeId=9 означает, что обновляется только эта запись и никакая другая.

<p id="практические_задания_16">Практические задания</p>

• Проанализируйте результат выполнения команды UPDATE.

• Составьте еще один оператор UPDATE и измените номер телефона для записи Ricky Martin.

• Сколько строк будет затронуто при выполнении оператора UPDATE, если в нем не будет условия WHERE?

Внимание

Особое внимание следует уделить добавлению условия WHERE в UPDATE. Если условие WHERE не включено и в нем не указаны необходимые для изменения записи, вы можете обновить записи, которые вы не собирались обновлять, что может привести к серьезным проблемам.

<p id="_14_xhtml_2523toc_marker_14_3"><strong>Удаление данных</strong></p>

Оператор DELETE используется для удаления существующих записей в таблице. Этот оператор, как и UPDATE, обычно используется с условием WHERE. Если условие WHERE отсутствует, оператор DELETE удалит все строки в таблице.

Примечание

Как и в случае с UPDATE, не стремитесь сразу выполнять оператор DELETE, сначала напишите оператор SELECT, используя те же таблицы и условие WHERE. Таким образом вы сможете предварительно проанализировать, что вы собираетесь удалить. Как только оператор SELECT вернет ожидаемые записи, вы можете выполнить оператор DELETE.

Сначала напишем оператор SELECT, чтобы проверить данные, которые мы собираемся удалить.

SELECT * FROM

employees

WHERE

EmployeeId = 9

Рассмотрим пример удаления записи, обновленной в предыдущем разделе.

DELETE FROM

employees

WHERE

EmployeeId = 9

Синтаксис оператора DELETE начинается с двух ключевых слов, DELETEFROM, за которыми следует имя таблицы, откуда мы собираемся удалить запись. В нашем примере мы удаляем запись из таблицы employees. После имени таблицы следует условие WHERE, которое позволяет нам точно указать, какую запись о сотруднике необходимо удалить. Запись EmployeeId=9 означает, что будет удалена только эта запись и никакая другая.

<p id="практические_задания_17">Практические задания</p>

• Проанализируйте результат выполнения оператора DELETE.

Перейти на страницу:

Все книги серии Библиотека программиста

Программист-фанатик
Программист-фанатик

В этой книге вы не найдете описания конкретных технологий, алгоритмов и языков программирования — ценность ее не в этом. Она представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многие другие. Подобные знания обычно приходят лишь в результате многолетнего опыта реальной работы. По большому счету перед вами — ярко и увлекательно написанное руководство, которое поможет быстро сделать карьеру в индустрии разработки ПО любому, кто поставил себе такую цель. Конечно, опытные программисты могут найти некоторые идеи автора достаточно очевидными, но и для таких найдутся темы, которые позволят пересмотреть устоявшиеся взгляды и выйти на новый уровень мастерства. Для тех же, кто только в самом начале своего пути как разработчика, чтение данной книги, несомненно, откроет широчайшие перспективы. Издательство выражает благодарность Шувалову А. В. и Курышеву А. И. за помощь в работе над книгой.

Чед Фаулер

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных