Что не является базовой командой sol

Учебник по PHP 4

Сколько новых сайтов Вы делаете за год? результаты

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Обычные целые числа.

Числа с плавающей точкой одинарной точности.

Числа с плавающей точкой двойной точности.

Числа с плавающей точкой, приведенные к типу char.

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Взаимодействие PHP и MySQL

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol
Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol
Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol
Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой solПредыдущаяСледующаяЧто не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Команды SQL

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

Команды SQL не чувствительны к регистру, но традиционно они набираются прописными буквами.

Типы полей базы данных

К числовым типам относятся целые числа и числа с плавающей точкой. Для чисел с плавающей точкой, кроме максимальной ширины отображения можно также указывать число значащих цифр после запятой, далее обозначаемое символом P.

Таблица 13.6. Числовые типы

Средние целые числа.

Типы даты и времени приведены в таблице 13.7.

Таблица 13.7. Типы даты и времени

Дата в формате ГГГГ-ММ-ДД.

Время в формате ЧЧ-ММ-СС.

Дата и время в формате ГГГГ-ММ-ДД ЧЧ-ММ-СС.

Год в формате ГГ или ГГГГ.

Метка времени для отсчетов по транзакциям в формате ГГГГ-ММ-ДД ЧЧ-ММ-СС.

Основные строковые типы приведены в таблице 13.8.

Таблица 13.8. Строковые типы

Строки с длиной len, которое не превышает 255 символов. Ключевое слово BINARY указывает на то, что данные должны обрабатываться независимо от регистра.

Синоним CHAR(len)за исключением того, что строки могут быть произвольной длины.

Строки с максимальной длиной символов равной 65535. Данные этого типа чувствительны к регистру.

CREATE DATABASE

Эта команда создает новую базу данных:

Каждый запрос MySQL завершается точкой с запятой.

При успешном выполнении команды MySQL выдаст строку, в которой сообщается, что этот запрос выполнен успешно и показано время, затраченное на выполнение запроса:

Далее в тексте строку MySQL с результатом выполнения команды мы будем приводить непосредственно в соответствующем листинге.

Как видим, среди различных баз данных на компьютере автора присутствует и только что созданная база данных forum:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Команда SHOW DATABASES является внутренней командой MySQL, отсутствующей в стандарте SQL и неподдерживаемой другими базами данных.

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

CREATE TABLE

Команда CREATE TABLE создает новую таблицу в выбранной базе данных и которая в простейшем случае имеет следующий синтаксис:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Давайте теперь аналогичным образом создадим другие таблицы.

Следующей по порядку идет таблица forums, в которой содержатся данные о разделах форума.

Для удобства на форуме может быть создано несколько различных разделов. К примеру, на форуме по языкам программирования для того, чтобы не смешивать темы, относящиеся к различным языкам, имеет смысл создать следующие разделы: С++, PHP, Java и т. д.

В таблице forums присутствуют следующие поля: первичный ключ ( id_forum ), название раздела ( name ), правила форума ( rule ), краткое описание форума ( logo ), порядковый номер ( pos ), флаг, принимающий значение 1, если форум скрытый и 0, если общедоступный ( hide ).

Вот SQL-запрос, создающий таблицу forums

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

DESCRIBE

Команда DESCRIBE показывает структуру созданных таблиц и имеет следующий синтаксис:

Команда DESCRIBE не входит в стандарт SQL и является внутренней командой СУБД MySQL.

После выполнения этой команды, интерпретатор mysql выведет следующую таблицу

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

ALTER TABLE

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

Параметр alter_spec имеет значения, представленные в таблице

ADD create_definition [FIRST|AFTER column_name]

Добавление нового столбца create_definition. create_definition представляет собой название нового столбца и его тип. Конструкция FIRST добавляет новый столбец перед столбцом column_name. Конструкция AFTER добавляет новый столбец после столбца column_name. Если место добавления не указано, по умолчанию столбец добавляется в конец таблицы.

ADD INDEX [index_name] (index_col_name. )

Добавление индекса index_name для столбца index_col_name. Если имя индекса index_name не указывается, ему присваивается имя совпадающее с именем столбца index_col_name.

ADD PRIMARY KEY (index_col_name. )

Делает столбец index_col_name или группу столбцов первичным ключом таблицы.

CHANGE old_col_name new_col_name type

Изменение столбца с именем old_col_name на столбец с именем new_col_name и типом type.

Удаление столбца с именем col_name.

Удаление первичного ключа таблицы.

DROP INDEX index_name

Удаление индекса index_name.

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Давайте переименуем созданный столбец test в текстовый столбец new_test

Как видно из рисунка, столбец успешно переименован:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

При изменении только типа столбца, а не его имени, указание имени все-равно необходимо, хотя в этом случае оно будет фактически повторяться.

Результат выполнения этого запроса приведен на рисунке:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Теперь удалим столбец new_test :

Как видно из рисунка, после удаления этого столбца таблица forums приобрела исходную структуру:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

DROP TABLE

Команда DROP TABLE предназначена для удаления одной или нескольких таблиц:

К примеру, для удаления таблицы forums нужно выполнить следующий SQL-запрос:

DROP DATABASE

Команда DROP DATABASE удаляет базу данных со всеми таблицами входящими в её состав:

Удалим, например, базу данных forum :

INSERT INTO…VALUES

Команда INSERT…VALUES вставляет новые записи в существующую таблицу. Синтаксис команды:

После оператора VALUES в скобках через запятую перечисляются значения соответствующих полей таблицы в соответствии с их типами.

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

DELETE

Команда DELETE удаляет из таблицы table_name записи, удовлетворяющие заданным в definition условиям, и возвращает число удаленных записей.

Вот как можно удалить все записи из таблицы authors :

Условия отбора могут быть значительно сложнее, так в листинге 13.16 удаляются все авторы с паролем ‘123’ и первичный ключ которых превышает 10:

Оператор AND является логическим «и». В запросах можно так же применять логическое или «или».

SELECT

Команда SELECT предназначена для извлечения строк данных из одной или нескольких таблиц и имеет в общем случае следующий синтаксис:

Для того чтобы посмотреть всю таблицу forums выполняется следующий запрос:

Выбираем все столбцы из таблицы forums без ограничений. Результат показан на рисунке:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Можно выбрать не все столбцы таблицы, а лишь часть, для этого необходимо явно задать список выбираемых столбцов:

В этом случае MySQL выведет лишь два столбца с первичным ключом id_forum и названием форума name

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

В результате этого запроса будет выведено только первые 3 записи из 5

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

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

В этом случае будут возвращены строки 2, 3 и 4

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Результат показан на слудующем рисунке:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Порядок сортировки выводимых записей можно задавать при помощи оператора ORDER BY:

В этом запросе выводятся все записи со значением поля id_forum не меньше двух, которые при этом сортируются по значению поля pos. Результат такого запроса показан на рисунке:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

UPDATE

В следующим листинге разделу форума с первичным ключом 2 устанавливается новое название (PHP) и устанавливается атрибут hide равным 1, делая форум невидимым.

С этой командой мы уже встречались ранее, когда выполняли запросы вида show databases и show tables для получения списка баз данных и таблиц в выбранной базе данных. Рассмотрим еще несколько вариантов использования этой команды.

Вывести список всех столбцов выбранной таблицы можно при помощи следующего запроса:

Результат приведен на следующем рисунке:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Можно также отобразить информацию обо всех индексах конкретной таблицы:

Выполнив команду SHOW PROCESSLIST можно увидеть список всех выполняющихся в системе запросов:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol
Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой solПредыдущаяСледующаяЧто не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol
Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Если Вам нужна частная профессиональная консультация от авторов многих книг Кузнецова М.В. и Симдянова И.В., добро пожаловать в наш Консультационный Центр SoftTime.

Источник

Sysadminium

База знаний системного администратора

Базовые команды SQL

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

Создание базы данных

Чтобы создать базу данных используется команда CREATE DATABASE . Например:

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

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

Типы данных, которые можно применять, рассмотрю позже.

Наполнение таблицы строками

Строки вставляются в таблицу с помощью команды SQL INSERT INTO (перечисляем поля)
VALUES (перечисляем значения)
. При этом можно вставлять по одной строке или по несколько. Вставим три строки в нашу таблицу users:

Как видно из примера выше, мы вначале определяем порядок колонок (fio, company, phone, email), а затем в этом порядке вставляем значения.

При вставке строковых значений, строка всегда берётся в одинарные кавычки.

Просмотр таблицы

Можно вывести определённые колонки указав их вместо звездочки:

Можно вывести определённые строки с помощью WHERE :

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

Можем комбинировать эти методы, например:

А ещё можем отсортировать таблицу по какой-нибудь строке:

Условий может быть несколько, например ФИО должно содержать Иван, а телефон должен заканчиваться на 94:

” – означает что значение должно содержать, а не равняться.

Также в примере выше я показал, что в условии можно использовать регулярные выражения.

Комбинировать условия можно с помощью AND и OR.

Изменение строк

Если не указать условие, то обновятся все строки:

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

Если не указать блок WHERE, то удалятся все строки! Но очищать таблицу лучше другой командой.

Очистка таблицы

Очистка таблицы осуществляется с помощью команды TRUNCATE . Например:

Удаление таблицы

Для удаления используем команду DROP TABLE . Например:

Удаление базы данных

А чтобы удалить базу данных выполняем DROP DATABASE . Но предварительно нужно отключиться от удаляемой базы:

Источник

От CREATE до JOIN: введение в SQL + шпаргалка

Львиная доля мировой информации хранится в реляционных базах данных. Чтобы работать с ней, нужно владеть языком SQL-запросов.

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Для решения многих стандартных задач не требуется быть SQL-виртуозом, достаточно изучить азы работы с базами:

Этими азами мы и займемся: разберем синтаксис SQL-запросов в теории и на реальных примерах. К счастью, язык баз данных очень похож на простые английские предложения, так что вы легко с ним справитесь.

Чтобы учиться эффективнее, сразу же закрепляйте новые знания практикой. Поиграть с SQL можно на этом замечательном ресурсе. В левой панели вы должны ввести весь код, относящийся к структуре базы данных. После этого начинайте экспериментировать с SELECT’ами в правом поле.

* В примерах используется SQL-синтаксис для MySQL 5.6. Запросы, предназначенные для разных СУБД, могут различаться.

Терминология

База данных состоит из таблиц, а таблица – из колонок и строк.

Каждая колонка, или поле таблицы, представляет собой конкретный вид информации, например, имя студента (строка) или зарплата сотрудника (число).

Каждая строка, или запись таблицы, – это описание конкретного объекта, например, студента или сотрудника.

Уровень: Новичок

Создание и редактирование таблиц

CREATE

Несложно догадаться, что оператор CREATE создает новую таблицу в базе. Ему нужно передать описания всех полей таблицы в формате:

Создадим таблицу с данными о собаках и их рационе питания:

ALTER

Не всегда получается создать идеальную таблицу с первого раза. Не бойтесь вносить изменения, добавлять, удалять или изменять существующие поля:

DROP и TRUNCATE

Оператор DROP удаляет таблицу из базы целиком:

Если вам нужно удалить только записи, сохранив саму таблицу, воспользуйтесь оператором TRUNCATE:

Атрибуты и ограничения

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

Самые распространенные в SQL ограничения целостности (CONSTRAINTS):

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

Первичный ключ, автоматический инкремент, NOT NULL и значение по умолчанию мы уже использовали в примере с собаками.

Решим новую задачу – составление списка президентов:

Ограничение уникальности не позволит занести в таблицу одного и того же президента одной страны дважды. Кроме того, не попадут в список и слишком молодые политики.

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

Еще одно удобное ограничение в SQL – внешний ключ (FOREIGN KEY). Он позволяет связать поля двух разных таблиц.

Для примера возьмем базу данных организации с таблицами сотрудников и отделов:

Теперь в поле department таблицы employees нельзя будет указать произвольный отдел. Он обязательно должен содержаться в таблице departments.

Сохранение и обновление записей

INSERT

Добавить в таблицу новую запись (или даже сразу несколько) очень просто:

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

UPDATE

Оператор UPDATE используется для изменения существующих записей таблицы.

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

Запрос можно уточнить, добавив секцию WHERE с условием отбора записей.

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

DELETE

Можно удалить из таблицы все записи сразу или только те, которые соответствуют некоторому условию:

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Уровень: уверенный пользователь

Выборка и фильтрация данных

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

Вот небольшая демо-база, на которой вы можете попрактиковаться:

SELECT

Можно переименовывать поля для вывода:

Ограничение количества результатов:

Агрегатные функции и группировка

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

Агрегатные функции могут работать со всеми записями таблицы разом, а могут и с отдельными группами. Чтобы эти группы сформировать, используйте оператор GROUP BY:

Полученные группы тоже можно отфильтровывать: для этого предназначена конструкция HAVING. Например, не будем учитывать в выборке отделы, в которых работает меньше трех человек:

Объединение таблиц

Очень часто нужная вам информация хранится в разных таблицах – это обусловлено законами нормализации. Поэтому важно уметь объединять их.

В запросе, захватывающем несколько таблиц, нужно указать следующее:

Соединение бывает внутреннее (INNER) и внешнее (OUTER).

Внутреннее соединение

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

SQL просмотрит каждую запись из таблицы employees и попытается поставить ей в соответствие каждую запись из таблицы departments. Если это удастся (id отделов совпадают), запись будет включена в результат, иначе – не будет.

Таким образом, вы не увидите Kenny Washington, у которого отдел не указан, а также все отделы, в которых нет сотрудников.

Если не указано условие для соединения таблиц, SQL создаст все возможные комбинации сотрудников и отделов.

Внешнее соединение

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

Например, чтобы увидеть в результате Kenny Washington, потребуется левое внешнее соединение. Слово OUTER можно не указывать – соединение по умолчанию внешнее:

Теперь в результате есть все данные из левой таблицы (employees), даже если для них нет соответствия.

Правое соединение соответственно проигнорирует Кенни, но выведет все пустые отделы:

И наконец, полное внешнее соединение выведет и соответствия, и пустые отделы, и сотрудников без отдела.

Декартово произведение

Оператор CROSS JOIN позволяет получить все возможные комбинации записей из двух таблиц:

Автосоединение

Кроме того, таблицу можно соединять с самой собой. Это пригодится, чтобы найти босса для каждого сотрудника. Сейчас в поле boss находится идентификатор другого сотрудника, необходимо вывести его имя:

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

Объединение выборок

SQL позволяет сделать две отдельные выборки, а затем объединить их результаты по определенному правилу:

UNION

Объединить штатных и внештатных сотрудников

INTERSECT

Найти всех сотрудников, которые участвуют в сборной предприятия по спортивной ходьбе

MINUS

Найти всех сотрудников, которые не участвуют в сборной предприятия по спортивной ходьбе и заставить участвовать :

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Уровень: SQL-мастер

Представления

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

У представлений есть еще одна важная миссия: обеспечение безопасности. Под view вы легко можете скрыть бизнес-логику и архитектуру базы и защитить свое приложение от нежелательных вторжений.

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

Если представление изменяемое, можно использовать при его создании CHECK OPTION для проверки изменений на соответствие некоторому предикату:

Представления могут основываться как на таблицах базы, так и на других представлениях, образуя несколько уровней вложенности. С учетом этого предложение WITH можно расширить:

Чтобы удалить представление, используйте уже знакомый оператор DROP:

Индексы

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

Наличие индексов в базе ускоряет выполнение операций SELECT и вычисление условий WHERE. Но есть и обратная сторона медали: замедляются операции вставки и удаления данных, так как при этих изменениях необходимо пересчитывать индексы.

Триггеры

Триггеры в SQL – это процедуры, которые автоматически запускаются при выполнении определенной операции (INSERT/UPDATE/DELETE) – до (BEFORE) или после (AFTER) нее.

Удалить существующий триггер можно с помощью оператора DROP:

Источник

Запросы SQL: руководство для начинающих

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

Что не является базовой командой sol. Смотреть фото Что не является базовой командой sol. Смотреть картинку Что не является базовой командой sol. Картинка про Что не является базовой командой sol. Фото Что не является базовой командой sol

Аббревиатура SQL расшифровывается как «Structured Query Language» — язык структурированных запросов. С помощью этого языка вы можете работать с записями в базах данных.

SQL состоит из команд и декларативных ключевых слов, которые являются как бы инструкциями для базы данных.

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

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

Структура базы данных

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

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

Возьмем для примера некую компанию, штат которой разбросан по всему миру. Допустим, у этой компании есть много баз данных. Чтобы увидеть их полный список, нужно набрать SHOW DATABASES;

Результат может выглядеть как-то так:

Все таблицы состоят из различных столбцов, описывающих данные.

Таблицы также состоят из строк — отдельных записей. В нашем примере в строках будут указаны id, имена, фамилии, email, зарплата и страны проживания сотрудников. Каждая строка будет касаться одного сотрудника, допустим, из команды Engineering.

Базовые запросы SQL

Все операции, которые можно осуществлять с данными, входят в понятие «CRUD».

CRUD расшифровывается как Create, Read, Update и Delete (создать, прочесть, обновить, удалить). Это четыре основных операции, которые мы осуществляем, делая запросы к базе данных.

Мы создаем информацию в базе ( CREATE ), мы читаем, получаем информацию из базы ( READ ), мы обновляем данные или осуществляем какие-то манипуляции с ними ( UPDATE ) и, при желании, можем удалять данные ( DELETE ).

Для осуществления различных операций с данными в SQL есть специальные ключевые слова (операторы). Ниже мы рассмотрим некоторые простые запросы SQL и их синтаксис.

Ключевые слова в SQL

CREATE DATABASE

Для создания базы данных с именем engineering мы используем следующий код:

CREATE TABLE

Этот запрос создает новую таблицу в базе данных.

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

Что касается типов данных (datatype), они могут быть разными. Самые распространенные — INT, DECIMAL, DATETIME, VARCHAR, NVARCHAR, FLOAT и BIT.

В нашем примере запрос может быть таким:

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

EMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILCOUNTRYSALARY

ALTER TABLE

После создания таблицы мы можем изменять ее путем добавления столбцов.

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

Теперь таблица выглядит немного иначе:

EMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILCOUNTRYSALARYBIRTHDAY

INSERT

Это ключевое слово служит для вставки данных в таблицы и создания новых строк. В аббревиатуре CRUD это соответствует букве C.

Этот запрос создает новую запись в таблице, т. е. новую строку.

В части INSERT INTO мы указываем столбцы, которые хотим заполнить информацией. В VALUES указана информация, которую нужно сохранить.

При вставке строковых значений их нужно брать в одинарные кавычки.

Теперь таблица будет выглядеть так:

EMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILCOUNTRYSALARY
1TimmyJonestimmy@gmail.comUSA2500.00
2KellySmithksmith@gmail.comUK1300.00

SELECT

Это ключевое слово служит для выборки данных из базы. В CRUD эта операция соответствует букве R.

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

Ключевое слово SELECT указывает на конкретный столбец, из которого мы хотим выбрать данные.

В части FROM определяется сама таблица.

Вот еще один пример запроса SELECT :

Астериск (звездочка) означает, что нам нужна вся информация из указанной таблицы (а не отдельный столбец).

WHERE

WHERE позволяет составлять более специфичные (конкретные) запросы.

Таблица из предыдущего примера:

EMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILCOUNTRYSALARY
1TimmyJonestimmy@gmail.comUSA2500.00
2KellySmithksmith@gmail.comUK1300.00

Теперь вывод будет такой:

Данные отфильтрованы, и нам показывается только то, что отвечает условию. То есть в выводе мы получаем только строки, где зарплата больше 1500.

Операторы AND, OR, BETWEEN в SQL

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

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

Оператор BETWEEN отфильтровывает результаты в определенном диапазоне чисел или текста.

Все эти операторы можно комбинировать друг с другом.

Допустим, наша таблица выглядит так:

EMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILCOUNTRYSALARY
1TimmyJonestimmy@gmail.comUSA2500.00
2KellySmithksmith@gmail.comUK1300.00
3JimWhitejwhite@gmail.comUK1200.76
4José LuisMartìnezjmart@gmail.comMexico1275.87
5EmiliaFischeremfis@gmail.comGermany2365.90
6DelphineLavignelavigned@gmail.comFrance2108.00
7LouisMeyerlmey@gmail.comGermany2145.70

Если мы напишем такой запрос:

Мы получим следующий результат:

Были выбраны все столбцы, где employee_id от 3 до 7, а страна проживания — Германия.

ORDER BY

Отсортированные результаты выводятся в порядке возрастания или убывания.

В этом примере мы отсортировали зарплату сотрудников в команде engineering и представили вывод в порядке убывания числовых значений (DESC — от англ. descending — «нисходящий»).

GROUP BY

Ключевое слово GROUP BY в SQL позволяет комбинировать строки с идентичными и похожими данными.

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

Здесь COUNT(*) подсчитывает все строки и возвращает число строк в указанной таблице, группируя строки-дубликаты.

От редакции Techrocks: о COUNT и других агрегатных функциях можно почитать в статье «Агрегатные функции в SQL: объяснение с примерами запросов».

LIMIT

При помощи LIMIT можно указать максимальное число строк, которые должны попасть в результат.

Это бывает полезно при работе с большими наборами данных. Если данных много, запрос может обрабатываться слишком долго. Но когда будет достигнут лимит результатов, обработка прекратится.

UPDATE

Ключевое слово UPDATE позволяет обновлять записи в таблице. В CRUD этой операции соответствует буква U.

В условии WHERE указывается запись, которую нужно отредактировать.

Прежде наша таблица выглядела так:

EMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILCOUNTRYSALARY
1TimmyJonestimmy@gmail.comUSA2500.00
2KellySmithksmith@gmail.comUK1300.00
3JimWhitejwhite@gmail.comUK1200.76
4José LuisMartìnezjmart@gmail.comMexico1275.87
5EmiliaFischeremfis@gmail.comGermany2365.90
6DelphineLavignelavigned@gmail.comFrance2108.00
7LouisMeyerlmey@gmail.comGermany2145.70

Теперь, после выполнения запроса, она выглядит так:

EMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILCOUNTRYSALARY
1TimmyJonestimmy@gmail.comSpain2500.00
2KellySmithksmith@gmail.comUK1300.00
3JimWhitejwhite@gmail.comUK1200.76
4José LuisMartìnezjmart@gmail.comMexico1275.87
5EmiliaFischeremfis@gmail.comGermany2365.90
6DelphineLavignelavigned@gmail.comFrance2108.00
7LouisMeyerlmey@gmail.comGermany2145.70

Обновилась страна проживания сотрудника с id 1.

Обновить информацию можно и с помощью значений из другой таблицы. Для этого применяется ключевое слово JOIN.

DELETE

Ключевое слово DELETE служит для удаления записей из таблицы. В CRUD операция удаления представлена буквой D.

Пример с нашей таблицей:

При выполнении запроса будет удалена запись о сотруднике с id 2 из команды engineering.

DROP COLUMN

Чтобы удалить из таблицы столбец, можно воспользоваться следующим кодом:

DROP TABLE

Для удаления всей таблицы выполните следующий запрос:

Итоги

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

Мы научились создавать таблицы и строки, группировать и обновлять данные и, наконец, удалять их. Попутно мы также разобрали SQL-запросы в привязке к операциям CRUD.

От редакции Techrocks. Вам также могут быть интересны другие статьи по теме SQL:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *