Мы научились создавать БД, добавлять в нее таблицу и заносить данные в эти таблицы, в таком виде вся информация будет надежно и в упорядоченном виде храниться на сервере, однако данные нужны для решения большого круга задач, и реализации множества функций. Для обращения к ресурсам хранящимся в БД существует специальный язык запросов — sql. Рассмотрим его базовый синтаксис.
Иногда приходится работать с БД через консоль, например при удаленном подключении через терминал. Давайте создадим таблицу подключившись через терминальный доступ к БД. Запускаем консоль:

Подключаемся к БД от имени созданного пользователя:
- h — хост базы данных, если коннектимся к локальной базе (по ip 127.0.0.1), этот параметр можно опустить
- u — имя пользователя
- p — пароль, его нужно будет ввести после нажатия enter

Для того чтобы создать новую БД, выполните команду
CREATE DATABASE databasename;
Для работы с конкретной базой данных нужно её выбрать с помощью оператора use. Показать все базы данных:
show databases; use databases;

Запрос на добавление таблицы.
После того как выбрана БД, можно в нее что-то добавить например таблицу. Добавим таблицу books с тремя полями. Синтаксис:
CREATE TABLE books (id int, name_book varchar(80), autрor int);

Если после выполнения запроса вы увидите сообщение Query ok, значит запрос выполнился успешно. Что бы посмотреть список таблиц в БД и убедиться, что новая таблица действительно добавилась используем команду show tables;

Просмотреть структуру таблицы (имена и тип полей):
describe books;

Посмотреть, какие запросы выполняются в данный момент на сервере MySQL:
show processlist;
Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому show processlist; актуальная команды только для нагруженных БД, в других случаях маловероятно, что команда что то покажет.
Ввод данных
Теперь давайте добавим пару записей в нашу табличку. Сделать это можно с помощью команды INSERT. Есть два разных метода использовать INSERT:
Первый не указывая названий колонок, в данном случае значения записываются в таблицу в том порядке, в котором они указаны в таблице.
INSERT INTO books VALUES (1,'Унесенные ветром',1);

Первый способ короче, однако если в будущем будут добавлены дополнительные колонки, все предыдущие запросы работать не будут. Второй способ:
INSERT INTO books (id,name_book,author) VALUES (2,'Война и мир',2);

Если не указать одну из колонок, на её место будет записано NULL или заданное значение по умолчанию.
Пример создания таблицы с ключевым полем:
CREATE TABLE Turist (Id INT NOT NULL PRIMARY KEY, SecondName varCHAR(60) NOT NULL, FirstName varCHAR(60) NOT NULL, SeriaPassport INT NOT NULL, NumberPassport INT NOT NULL);
Удаление данных из таблицы:
DELETE FROM имя_таблицы [WHERE условие_удаления]
DELETE FROM Products WHERE Manufacturer='Huawei';
Запросы на выборку.
Запросы на выборку, базовый синтаксис:
SELECT * FROM `имя таблицы`
Звездочкой обозначены все поля в таблице, можно указать какое именно поле следует использовать для выборки:

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

В данном случае, будут выведены все записи столбца name_service таблицы `service`.
Сортировка — ORDER BY «название столбца». ORDER BY имеет два модификатора: ASC (по возрастанию) (по умолчанию) и DESC (по убыванию).
SELECT name_book, author FROM books ORDER BY name DESC;

Условия в SQL-запросах. Where
В запросы можно добавлять условия отбора, для этого используется WHERE, например — Из таблицы books выбрать все записи у которых поле author равно 1:

Условия с операторами И/или:

Операторы выбора In/Between/Like
- IN — сравнивает значение в столбце с несколькими возможными значениями и возвращает true, если значение совпадает хотя бы с одним значением
- BETWEEN — проверяет, находится ли значение в каком-то диапазоне
- LIKE — ищет по шаблону
К примеру, мы можем сделать запрос для вывода названия книг:
SELECT * FROM books WHERE name_book IN ('Война и мир','Царь Солтан');

Вывести все книги с id автора , в диапазоне:
SELECT * FROM books WHERE author BETWEEN 2 AND 5;

Вывести все книги, в названии которых есть буква ‘А’:
SELECT * FROM books WHERE name_book LIKE '%А%';

Знак % означает любую последовательность символов (0 символов тоже считается за последовательность).
Вывести все альбомы, первая буква в названии которых — ‘У’:
SELECT * FROM books WHERE name_book LIKE 'У%';

Инверсия. Для примера, самостоятельно напишите NOT перед любым логическим выражением в условии (NOT BETWEEN и так далее).
Задание:
Внимание!!! Все успешные команды выполненные в консоли необходимо будет скопировать в блокнот и выслать на проверку преподавателю
- Подключиться к БД через консоль, от имени созданного вами пользователя
- Вывести список БД вашего сервера
- Выбрать созданную вами БД
- Вывести список таблиц.
- Создать таблицу в режиме консоли
- Вывести структуру созданной таблицы
- Заполнить таблицу в режим консоли, двумя способами
- Выполнить запросы на выборку исходя из темы вашей БД к разным таблицам, используйте простые запросы, запросы с условием, запросы с условием и операторами. Всего необходимо составить запросов типа SELECT — не менее 8-ми.
Задание на учебную практику:
Пользуясь консолью создать таблицы для БД «Издательство». Определить тип данных и первичный ключ для каждой таблицы.

Создать запросы на выборку:
- Вывести названия и тираж всех изданий конкретного автора
- Вывести все сведения об издании по названию
- Вывести все издания и их авторов у которых год издания от 2018 по 2021
- Вывести все издания тираж которых превышает 1000 экземпляров
- Вывести личные данные и адреса всех заказчиков фамилии которых начинаются с буквы «А»
- Вывести названия, адреса и телефоны всех издательств у которых было заказано издание трудов автора (ФИО автора на ваше усмотрение)
- Вывести названия типографий, ФИО заказчиков и ФИО авторов у которых видом продукции является «Учебник»
- Вывести адреса и ФИО всех заказчиков, чьи заказы выполнены и вывести автора и название заказанного издания.
- Вывести названия и авторов всех издания названия которых содержат в себе слово «пособие» и «учеб» (слово можно взять свое)
- Вывести всех авторов имена которых «Александр» и «Михаил»
- Вывести все издания заказанные более 2 раз и название издательства которых «ИНФРА» (название можно взять свое)
- Составить 3 своих запроса с несколькими условиями.