Программирование

Основы SQL

Язык структурированных запросов является одним из фундаментальных строительных блоков современной архитектуры баз данных. SQL определяет методы, используемые для создания и управления реляционными базами данных на всех основных платформах. На первый взгляд, язык может показаться пугающим и сложным, но это не так уж сложно. 

О SQL

Правильное произношение SQL является спорным вопросом в сообществе баз данных. В своем стандарте SQL Американский национальный институт стандартов объявил, что официальным произношением является «es queue el». Тем не менее, многие специалисты по базам данных приняли жаргонное произношение «продолжение». Выбор ваш.

SQL поставляется во многих вариантах. Базы данных Oracle используют свой проприетарный PL / SQL. Microsoft SQL Server использует Transact-SQL. Все варианты основаны на отраслевом стандарте ANSI SQL. В этом введении используются ANSI-совместимые команды SQL, которые работают в любой современной системе реляционных баз данных.

DDL и DML

Команды SQL можно разделить на два основных подъязыка. Язык определения данных (DDL) содержит команды, используемые для создания и уничтожения баз данных и объектов баз данных. После определения структуры базы данных с помощью DDL администраторы базы данных и пользователи могут использовать язык манипулирования данными (DML) для вставки, извлечения и изменения данных, содержащихся в нем.

Языковые команды определения данных 

Язык определения данных используется для создания и уничтожения баз данных и объектов баз данных. Эти команды в основном используются администраторами базы данных на этапах установки и удаления проекта базы данных. Вот взгляд на структуру и использование четырех основных команд DDL:

СОЗДАЙТЕ. Установка  системы управления базами данных  на компьютер позволяет создавать и управлять многими независимыми базами данных. Например, вы можете захотеть сохранить базу данных контактов с клиентами для вашего отдела продаж и базу данных персонала для вашего отдела кадров. Команда CREATE используется для установки каждой из этих баз данных на вашей платформе. Например, команда:

CREATE DATABASE сотрудники

создает пустую базу данных с именем «сотрудники» в вашей СУБД. После создания базы данных следующим шагом будет создание таблиц, содержащих данные. Для этой цели можно использовать другой вариант команды CREATE. Команда:

CREATE TABLE personal_info (first_name char (20) не ноль, last_name char (20) не ноль, employee_id int не нуль)

устанавливает таблицу с именем «personal_info» в текущей базе данных. В этом примере таблица содержит три атрибута: first_name, last_name и employee_id, а также некоторую дополнительную информацию.

ИСПОЛЬЗОВАНИЕ. Команда USE позволяет вам указать базу данных, с которой вы хотите работать в вашей СУБД. Например, если вы в настоящее время работаете в базе данных продаж и хотите выполнить некоторые команды, которые будут влиять на базу данных сотрудников, предварите их следующей командой SQL:

ИСПОЛЬЗОВАТЬ сотрудников

Важно всегда помнить о базе данных, в которой вы работаете, прежде чем вводить команды SQL, которые манипулируют данными.

ALTER. После того как вы создали таблицу в базе данных, вы можете изменить ее определение. Команда ALTER позволяет вносить изменения в структуру таблицы, не удаляя и не воссоздавая ее. Посмотрите на следующую команду:

ALTER TABLE personal_info ДОБАВИТЬ зарплату деньги ноль

В этом примере в таблицу personal_info добавляется новый атрибут — зарплата сотрудника. Аргумент «деньги» указывает, что зарплата сотрудника хранится в формате долларов и центов. Наконец, ключевое слово «null» сообщает базе данных , что для этого поля нормально, что оно не содержит значения для какого-либо сотрудника.

DROP. Последняя команда языка определения данных, DROP, позволяет нам удалять целые объекты базы данных из нашей СУБД. Например, если мы хотим окончательно удалить созданную нами таблицу personal_info, мы будем использовать следующую команду:

DROP TABLE personal_info

Аналогично, команда ниже будет использоваться для удаления всей базы данных сотрудников:

DROP DATABASE сотрудники

Используйте эту команду с осторожностью. Команда DROP удаляет целые структуры данных из вашей базы данных. Если вы хотите удалить отдельные записи, используйте команду DELETE языка управления данными.

Команды языка манипулирования данными

Язык манипулирования данными (DML) используется для извлечения, вставки и изменения информации базы данных. Эти команды используются всеми пользователями базы данных во время обычной работы базы данных.

ВСТАВИТЬ. Команда INSERT в SQL используется для добавления записей в существующую таблицу. Возвращаясь к примеру personal_info из предыдущего раздела, представьте, что нашему отделу кадров нужно добавить нового сотрудника в свою базу данных. Вы можете использовать команду, подобную этой:

INSERT INTO 
значения personal_info ('bart', 'simpson', 12345, $ 45000)

Обратите внимание, что для записи указано четыре значения. Они соответствуют атрибутам таблицы в том порядке, в котором они были определены: first_name, last_name, employee_id и salary.

ВЫБРАТЬ. Команда SELECT является наиболее часто используемой командой в SQL. Это позволяет пользователям базы данных получать конкретную информацию, которую они хотят, из оперативной базы данных. Взгляните на несколько примеров, снова используя таблицу personal_info из базы данных сотрудников.

Команда, показанная ниже, извлекает всю информацию, содержащуюся в таблице personal_info. Обратите внимание, что звездочка используется в качестве символа подстановки в SQL. Это буквально означает «Выберите все из таблицы personal_info».

SELECT * 
FROM personal_info

В качестве альтернативы пользователи могут захотеть ограничить атрибуты, которые извлекаются из базы данных. Например, отдел кадров может потребовать список фамилий всех сотрудников компании. Следующая команда SQL будет получать только эту информацию:

ВЫБЕРИТЕ фамилию 
ОТ личной

Предложение WHERE может использоваться для ограничения получаемых записей теми, которые соответствуют указанным критериям. Генеральный директор может быть заинтересован в просмотре кадровых записей всех высокооплачиваемых сотрудников. Следующая команда извлекает все данные, содержащиеся в personal_info, для записей со значением зарплаты, превышающим 50 000 долларов:

SELECT * 
FROM personal_info
WHERE зарплата> $ 50000

ОБНОВИТЬ. Команда UPDATE может быть использована для изменения информации, содержащейся в таблице, либо в натуральном, либо в индивидуальном порядке. Предположим, что компания ежегодно дает всем сотрудникам повышение заработной платы на 3%. Следующая команда SQL может быть использована для быстрого применения этого ко всем сотрудникам, хранящимся в базе данных:

ОБНОВЛЕНИЕ personal_info 
SET заработная плата = зарплата * 1,03

Когда новый сотрудник Барт Симпсон демонстрирует эффективность сверх служебного долга, руководство желает признать его звездные достижения с повышением на 5000 долларов. Предложение WHERE может быть использовано для выделения Барта для этого повышения:

ОБНОВЛЕНИЕ personal_info 
SET заработная плата = зарплата + $ 5000
ГДЕ employee_id = 12345

УДАЛЯТЬ. Наконец, давайте посмотрим на команду DELETE. Вы обнаружите, что синтаксис этой команды аналогичен синтаксису других команд DML. К сожалению, наш последний отчет о корпоративных доходах не совсем оправдал ожидания, и Барт был уволен. Команда DELETE с предложением WHERE может использоваться для удаления его записи из таблицы personal_info:

DELETE FROM personal_info 
WHERE employee_id = 12345

JOIN и

Теперь, когда вы изучили основы SQL, пришло время перейти к одной из самых мощных концепций языка — предложению JOIN. Оператор JOIN позволяет объединять данные в несколько таблиц для эффективной обработки больших объемов данных. Эти утверждения — то, где истинная сила базы данных находится.

Чтобы изучить использование базовой операции JOIN для объединения данных из двух таблиц, перейдите к примеру с таблицей PERSONAL_INFO и добавьте дополнительную таблицу к миксу. Предположим, у вас есть таблица DISCIPLINARY_ACTION, созданная с помощью следующего оператора:

Создать таблицу

Предположим, вам поручено создать отчет, в котором перечислены дисциплинарные меры, принятые в отношении всех сотрудников с зарплатой, превышающей 40 000 долларов США. Использование операции JOIN в этом случае является простым. Мы можем получить эту информацию с помощью следующей команды:

Похожие посты
Программирование

Что такое канал RSS? (И где его взять)

Программирование

7 причин, почему изображения не загружаются на ваш сайт

Программирование

Запустите агент SQL Server: настройте SQL Server 2012

Программирование

15 лучших бесплатных обоев дня Святого Патрика