Язык структурированных запросов является одним из фундаментальных блоков современной архитектуры баз данных. 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) not null, last_name char (20) not null, employee_id int не равно null)
устанавливает в текущей базе данных таблицу под названием «personal_info». В этом примере таблица содержит три атрибута: first_name, last_name и employee_id вместе с некоторой дополнительной информацией. ИСПОЛЬЗОВАНИЕ.Команда USE позволяет указать базу данных, с которой вы хотите работать в вашей СУБД. Например, если вы в настоящее время работаете в базе данных продаж и хотите опубликовать некоторые команды, которые повлияют на базу данных сотрудников, представьте их следующей командой SQL: Сотрудники USE
Важно всегда учитывать базу данных, в которой вы работаете, перед выпуском SQL-команд, которые управляют данными. ALTER.После создания таблицы в базе данных вы можете изменить ее определение. Команда ALTER позволяет вносить изменения в структуру таблицы без удаления и воссоздания ее. Взгляните на следующую команду: ALTER TABLE personal_info ДОБАВИТЬ заработную плату
В этом примере добавляется новый атрибут таблицы personal_info - зарплата сотрудника. Аргумент «деньги» указывает, что зарплата сотрудника хранится в формате доллара и цента. Наконец, ключевое слово «null» сообщает базе данных о том, что это нормально для этого поля, чтобы не содержать значения для любого данного сотрудника. DROP.Окончательная команда языка определения данных DROP позволяет нам удалять из базы данных все объекты базы данных. Например, если мы хотим окончательно удалить таблицу personal_info, которую мы создали, мы будем использовать следующую команду: DROP TABLE Персональный_инфо
Аналогично, приведенная ниже команда будет использоваться для удаления всей базы данных сотрудников: Сотрудники DROP DATABASE
Используйте эту команду с осторожностью. Команда DROP удаляет целые структуры данных из вашей базы данных. Если вы хотите удалить отдельные записи, используйте команду DELETE для языка манипулирования данными. Язык манипулирования данными (DML) используется для извлечения, вставки и изменения информации о базе данных. Эти команды используются всеми пользователями базы данных во время рутинной работы базы данных. ВСТАВИТЬ.Команда INSERT в SQL используется для добавления записей в существующую таблицу. Возвращаясь к примеру personal_info из предыдущего раздела, представьте, что нашему отделу кадров необходимо добавить нового сотрудника в свою базу данных. Вы можете использовать команду, подобную этой: INSERT INTO personal_infoзначения ( 'Bart', 'Симпсонов', 12345, $ 45000)
Обратите внимание, что для записи указано четыре значения. Они соответствуют атрибутам таблицы в том порядке, в котором они были определены: first_name, last_name, employee_id и зарплата. ВЫБРАТЬ.Команда SELECT является наиболее часто используемой командой в SQL. Он позволяет пользователям базы данных получать необходимую информацию из рабочей базы данных. Взгляните на несколько примеров, снова используя таблицу personal_info из базы данных сотрудников. Команда, показанная ниже, извлекает всю информацию, содержащуюся в таблице personal_info. Обратите внимание, что звездочка используется в качестве шаблона в SQL. Это буквально означает «Выберите все из таблицы personal_info». ВЫБРАТЬ *FROM personal_info
Кроме того, пользователи могут ограничить атрибуты, которые извлекаются из базы данных. Например, отдел отдела кадров может потребовать список фамилий всех сотрудников компании. Следующая команда SQL будет извлекать только эту информацию: SELECT last_nameFROM personal_info
Предложение WHERE может использоваться для ограничения записей, которые извлекаются для тех, которые соответствуют заданным критериям. Генеральный директор может быть заинтересован в пересмотре кадрового учета всех высокооплачиваемых сотрудников. Следующая команда извлекает все данные, содержащиеся в файле personal_info, для записей с размером зарплаты более 50 000 долларов США: ВЫБРАТЬ *FROM personal_infoГДЕ зарплата> $ 50000
ОБНОВИТЬ.Команда UPDATE может использоваться для изменения информации, содержащейся в таблице, либо навалом, либо индивидуально. Предположим, что компания дает всем сотрудникам 3-процентное увеличение стоимости своей заработной платы в год. Следующая команда SQL может быть использована для быстрого применения этого ко всем сотрудникам, хранящимся в базе данных: ОБНОВЛЕНИЕ personal_infoОплатить зарплату = зарплата * 1.03
Когда новый сотрудник Барт Симпсон демонстрирует производительность выше и выше служебного долга, руководство хочет признать его звездные достижения с повышением в 5000 долларов. Предложение WHERE может быть использовано для выделения Bart для этого рейза: ОБНОВЛЕНИЕ personal_infoОплатить зарплату = зарплата + 5000 долларов СШАWHERE employee_id = 12345
УДАЛЯТЬ.Наконец, давайте посмотрим на команду DELETE. Вы увидите, что синтаксис этой команды аналогичен синтаксису других команд DML. К сожалению, наш последний отчет о корпоративной прибыли не вполне оправдал ожидания, и бедный Барт был уволен. Команда DELETE с предложением WHERE может использоваться для удаления его записи из таблицы personal_info: УДАЛИТЬ ИЗ personal_infoWHERE employee_id = 12345 Теперь, когда вы изучили основы SQL, пришло время перейти к одной из самых мощных концепций, которые может предложить язык - оператор JOIN. Операция JOIN позволяет объединить данные в нескольких таблицах для эффективного обработки больших объемов данных. Эти утверждения содержат истинную силу базы данных. Чтобы изучить использование основной операции JOIN для объединения данных из двух таблиц, перейдите к примеру, используя таблицу PERSONAL_INFO и добавьте дополнительную таблицу в микс. Предположим, у вас есть таблица под названием DISCIPLINARY_ACTION, которая была создана со следующим утверждением: CREATE TABLE disciplinary_action (action_id int not null, employee_id int not null, комментарии char (500))
В этой таблице приведены результаты дисциплинарных мер для сотрудников компании. Вы заметите, что он не содержит никакой информации о сотруднике, кроме номера сотрудника. Легко представить множество сценариев, в которых вы можете объединить информацию из таблиц DISCIPLINARY_ACTION и PERSONAL_INFO. Предположим, вам поручено создать отчет, в котором перечислены дисциплинарные меры, предпринятые против всех сотрудников с зарплатой более 40 000 долларов США. Использование операции JOIN в этом случае является простым. Мы можем получить эту информацию, используя следующую команду: SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.commentsFROM personal_info, disciplinary_actionWHERE personal_info.employee_id = disciplinary_action.employee_idИ personal_info.salary> 40000
Код указывает две таблицы, которые мы хотим включить в предложение FROM, а затем включает инструкцию в предложении WHERE, чтобы ограничить результаты отчетами, имеющими соответствующие идентификаторы сотрудников, и соответствовать нашим критериям оклада более 40 000 долларов. Команды языка манипулирования данными
JOIN и




