Любой из нас часто сталкивается и пользуется разными базами данных. Когда мы избираем адресок электрической почты, мы работаем с базой данных. Базы данных употребляют поисковые сервисы, банки для хранения данных о клиентах и т.д.

Но, невзирая на неизменное внедрение баз данных, даже для многих разработчиков программных систем остается много «белоснежных пятен» из-за различного толкования одних и тех же определений. Мы дадим короткое определение главных определений баз данных перед рассмотрением языка SQL. Итак.

База данных файл либо набор файлов для хранения упорядоченных структур данных и их взаимосвязей. Очень нередко базой данных именуют систему управления базой данных (СУБД). База данных — это только хранилище инфы в определенном формате и может работать с разными СУБД.

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

Тип данных вид инфы, разрешенной для хранения в отдельном столбце либо строке. Это могут быть числа либо текст определенного формата.

Столбец и строчка – все мы работали с электрическими таблицами, в каких также находятся строчки и столбцы. Неважно какая реляционная база данных работает с таблицами аналогичным образом. Строчки время от времени именуют записями.

Первичный ключ – любая строчка таблицы может иметь один либо несколько столбцов для ее уникальной идентификации. Без первичного ключа очень тяжело создавать обновление, изменение и удаление подходящих строк.

Что такое SQL?

Язык запросов SQL (англ. Structured Query Language — язык структурированных запросов) был разработан только для работы с базами данных и в реальный момент является эталоном для всех фаворитных СУБД. Синтаксис языка состоит из маленького количества операторов и прост в исследовании. Но, невзирая на внешнюю простоту, он позволяет создание sql запросов для сложных операций с БД хоть какого размера.

С 1992 г. существует принятый эталон, именуемый ANSI SQL. Он определяет базисный синтаксис и функции операторов и поддерживается всеми фаворитами рынка СУБД, такими как ORACLE Microsoft SQL Server. Разглядеть все способности языка в одной маленькой статье нереально, потому мы коротко разглядим только главные SQL запросы. Примеры наглядно демонстрируют простоту и способности языка:

  • создание баз и таблиц;
  • подборка данных;
  • добавление записей;
  • модификация и удаление инфы.

Типы данных SQL

Все столбцы в таблице базы данных хранят один тип данных. Типы данных в SQL такие же, как и в других языках программирования.

Тип данных Описание
INT Целые числа
REAL Числа с плавающей запятой
TEXT Символьная строчка с переменной длиной
DATE sql запрос «дата» в разных форматах
TIME Время
CHAR Текстовые строчки фиксированной длины

Создаем таблицы и базы данных

Создавать новые базы, таблицы и другие запросы в SQL можно 2-мя методами:

  • Операторами SQL через консоль СУБД
  • Используя интерактивные средства администрирования, входящие в состав сервера баз данных.

Создается новенькая база данных оператором CREATE DATABASE <наименование базы данных>;. Как лицезреем, синтаксис прост и лаконичен.

Таблицы снутри базы данных создаем оператором CREATE TABLE со последующими параметрами:

  • наименование таблицы
  • имена и типы данных столбцов

В качестве примера сделаем таблицу Commodity со последующими столбцами:

Столбец Описание
commodity_id ID продукта
vendor_id ID поставщика (ключ наружной таблицы Vendors)
commodity_name Наименование продукта
commodity_price Цена
commodity_desc Описание

Создаем таблицу:

CREATE TABLE Commodity

(commodity_id CHAR(15) NOT NULL,

vendor_id CHAR(15) NOT NULL,

commodity_name CHAR(254) NULL,

commodity_price DECIMAL(8,2) NULL,

commodity_desc VARCHAR(1000) NULL );

Таблица состоит из 5 столбцов. После наименования идет тип данных, столбцы делятся запятыми. Значение столбца может принимать пустые значения (NULL) либо должно быть непременно заполнено (NOT NULL), и это определяется при разработке таблицы.

Подборка данных из таблицы

Оператор подборки данных — самые нередко применяемые SQL запросы. Для получения инфы нужно указать, что мы желаем избрать из таковой таблицы. Сначала обычной пример:

SELECT commodity_name FROM Commodity

После оператора SELECT указываем имя столбца для получения инфы, а FROM определяет таблицу.

Результатом выполнения запроса будут все строчки таблицы со значениями Commodity_name в том порядке, в каком они были внесены в базу данных т.е. без всякой сортировки. Для упорядочивания результата употребляется дополнительный оператор ORDER BY.

Для запроса по нескольким полям перечисляем их через запятую, как в последующем примере:

SELECT commodity_id, commodity_name, commodity_price FROM Commodity

Есть возможность получить как итог запроса значение всех столбцов строчки. Для этого употребляется символ «*»:

SELECT * FROM Commodity

  • Дополнительно SELECT поддерживает:
  • Сортировку данных (оператор ORDER BY)
  • Выбор согласно условиям (WHERE)
  • Группировку срок (GROUP BY)

Добавляем строчку

Для прибавления строчки в таблицу употребляются SQL запросы с оператором INSERT. Добавление может выполняться 3-мя методами:

  • добавляем новейшую целую строчку;
  • часть строчки;
  • результаты запроса.

Для прибавления полной строчки нужно указать имя таблицы и значения столбцов (полей) новейшей строчки. Приведем пример:

INSERT INTO Commodity VALUES(‘106 ‘, ’50’, ‘Coca-Cola’, ‘1.68’, ‘No Alcogol , )

Пример добавляет в таблицу новый продукт. Значения указываются после VALUES для каждого столбца. Если нет соответственного значения для столбца, то нужно указывать NULL. Столбцы заполняются значениями в порядке, обозначенном при разработке таблицы.

В случае прибавления только части строчки нужно очевидно указать наименования столбцов, как в примере:

INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)

VALUES(‘106 ‘, ‘50’, ‘Coca-Cola’,)

Мы ввели только идентификаторы продукта, поставщика и его наименование, а другие поля отставили пустыми.

Добавление результатов запроса

В главном INSERT употребляется для прибавления строк, но может употребляться и для прибавления результатов оператора SELECT.

Изменение данных

Для конфигурации инфы в полях таблицы базы данных нужно использовать оператор UPDATE. Оператор может применяться 2-мя методами:

  • Обновляются все строчки в таблице.
  • Только для определенной строчки.

UPDATE состоит из 3-х главных частей:

  • таблица, в какой нужно создавать конфигурации;
  • имена полей и их новые значения;
  • условия выбора строк для конфигурации.

Разглядим пример. Допустим, у продукта с ID=106 поменялась цена, потому эту строчку нужно обновить. Пишем последующий оператор:

UPDATE Commodity SET commodity_price = ‘3.2’ WHERE commodity_id = ‘106’

Мы указали имя таблицы, в нашем случае Commodity, где будет выполняться обновление, потом после SET — новое значение столбца и отыскали подходящую запись, указав в WHERE необходимое значение ID.

Для конфигурации нескольких столбцов после оператора SET указываются несколько пар столбец-значение, разбитых запятыми. Смотрим пример, в каком обновляется наименование и стоимость продукта:

UPDATE Commodity SET commodity_name=’Fanta’, commodity_price = ‘3.2’ WHERE commodity_id = ‘106’

Для удаления инфы в столбце можно присвоить ему значение NULL, если это позволяет структура таблицы. Нужно держать в голове, что NULL — это конкретно «никакое» значение, а не нуль в виде текста либо числа. Удалим описание продукта:

UPDATE Commodity SET commodity_desc = NULL WHERE commodity_id = ‘106’

Удаление строк

SQL запросы на удаление строк в таблице производятся оператором DELETE. Есть два варианта использования:

  • в таблице удаляются определенные строчки;
  • удаляются все строчки в таблице.

Пример удаления одной строчки из таблицы:

DELETE FROM Commodity WHERE commodity_id = ‘106’

После DELETE FROM указываем имя таблицы, в какой будут удаляться строчки. Оператор WHERE содержит условие, по которому будут выбираться строчки для удаления. В примере мы удаляем строчку продукта с ID=106. Указывать WHERE очень принципиально т.к. пропуск этого оператора приведт к удалению всех строк в таблице. Это относится и к изменению значения полей.

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

Внедрение SQL в Microsoft Access

Microsoft Access обычно употребляется в интерактивном режиме для сотворения таблиц, баз данных, для управления, конфигурации, анализа данных в базе данных и с целью ввести запросы SQL Access через удачный интерактивный конструктор запросов (Query Designer), используя который можно выстроить и немедля выполнить операторов SQL хоть какой трудности.

Также поддерживается режим доступа к серверу, при котором СУБД Access может употребляться как генератор SQL-запросов к хоть какому ODBC источнику данных. Эта возможность позволяет приложениям Access вести взаимодействие с базами данных хоть какого формата.

Расширения SQL

Так как SQL запросы не имеют всех способностей процедурных языков программирования, таких как циклы, ветвления и т.д., производители СУБД разрабатывают собственный вариант SQL с расширенными способностями. Сначала это поддержка хранимых процедур и стандартных операторов процедурных языков.

Более всераспространенные диалекты языка:

  • Oracle Database — PL/SQL
  • Interbase, Firebird – PSQL
  • Microsoft SQL Server — Transact-SQL
  • PostgreSQL — PL/pgSQL.

SQL в Веб

СУБД MySQL распространяется под свободной лицензией GNU General Public License. Имеется коммерческая лицензия с возможностью разработки заказных модулей. Как составная часть заходит в более пользующиеся популярностью сборки Интернет-серверов, таких как XAMPP, WAMP и LAMP, и является самой пользующейся популярностью СУБД для разработки приложений в сети Веб.

Была разработана компанией Sun Microsystems и в реальный момент поддерживается компанией Oracle. Поддерживаются базы данных размером до 64 терабайт, эталон синтаксиса SQL:2003, репликация баз данных и пасмурных сервисов.