Создание запросов к базе данных MySQL на примерах

Вернуться
Опубликовано: 23.11.2016 г.

MySQL – это одна из множества СУБД, работающая с поддержкой языка программирования PHP. Такая БД не способна обрабатывать большое количество информации, но для использования на небольших и средних размеров сайтах MySQL вполне хватает. Простота работы и надежность этой базы данных послужила ее популяризации среди веб мастеров. Для создания и управления веб-страницами через интернет на любом компьютере используются специальные запросы.

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

Виды запросов MySQL

Если БД уже создана, а вам нужно научиться лишь управлять ею, то стоит начать с понимания сути запросов — введенных в поле командной строки команд. Все команды к СУБД традиционно делятся на:

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

Простые запросы в работе с базами данных MySQL

Разбираться в азах управления БД мы будем на примере таблицы с адресами клиентов интернет-магазина. В работе с любой базой данных предусмотрено два ключевых запроса, с которых можно начать управление сайтом: «Show databases;» и «Show tables in shop;». Первая команда предназначена для отображения списка всех существующих баз данных. Второй запрос нужен для выведения информации о количестве таблиц в базе данных shop с указанием их названий.

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

SELECT (выбрать) запросы к базе данных MySQL

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

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

ВЫБРАТЬ ВСЕ данные из таблицы address: SELECT * FROM address;
Вывести общее количество записей в таблице address: SELECT count(*) FROM address;
ВЫБРАТЬ из таблицы address определенное КОЛИЧЕСТВО записей (в примере 4 штуки), НАЧИНАЯ с 3: SELECT * FROM address LIMIT 3, 4;
ВЫБРАТЬ из таблицы address ВСЕ данные и ОТСОРТИРОВАТЬ их по порядку, учитывая значение поля name: SELECT * FROM address ORDER BY name;
ВЫБРАТЬ из таблицы address ВСЕ данные и ОТСОРТИРОВАТЬ их по порядку, учитывая значение поля name, но в ОБРАТНОМ порядке: SELECT * FROM address ORDER BY name DESC;

 

Если нужно провести сортировку по более точным параметрам, то команды будут такими:

ВЫБРАТЬ ВСЕ записи из таблицы address и СОРТИРОВАТЬ их по полю city, установив количество или ЛИМИТ первые 10 записей: SELECT * FROM address BY city LIMIT 10;
ВЫБРАТЬ ВСЕ записи из таблицы address, ГДЕ поле city соответствует значению London: SELECT * FROM address WHERE city='London';
ВЫБРАТЬ ВСЕ записи из таблицы address, ГДЕ поле city начинаются с букв «Lo»: SELECT * FROM address WHERE city LIKE 'Lo%';
ВЫБРАТЬ ВСЕ записи из таблицы address, ГДЕ поле city заканчивается на буквах «on», и СОРТИРОВАТЬ записи в порядке возрастания значения поля number: SELECT * FROM address WHERE city LIKE '% on' ORDER BY number;

Следующие запросы пригодятся в том случае, когда нужно определить уникальные значения полей, скажем, из колонки «город» (city), но вы хотите исключить десятки повторяющиеся записей. Например, когда вам не важно количество адресов из Лондона, а нужно определить, сколько всего городов указано в поле «город» (city): SELECT DISTINCT city FROM address;

Или

ВЫБРАТЬ ВСЕ значение строк из таблицы address, ГДЕ (номер улицы) Str_nmb имеет значение 3,4,5: SELECT * FROM address WHERE Str_nmb IN (3,4,5);

Запросы для создания, перезаписи и удаления информации

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

СОЗДАТЬ записи в таблице address, со значениями поля, в Str_name вставить запись «Пушкина», а в Str_nmb «23»: INSERT INTO address (Str_nmb, Str_name) VALUES (Пушкина, '23');

Для изменения и перезаписи информации используется запрос UPDATE.

В таблице address, ГДЕ country прописано England нужно ПЕРЕЗАПИСАТЬ значение поля city на London: UPDATE address SET city = 'London' WHERE id = 'England';

А если нужно УДАЛИТЬ определенную строку в таблице address, например, где в city написана запись «London», вводим: DELETE FROM address WHERE city = ' London'.

Как создать более сложный запрос?

Способов построения команд для управления данными с нескольких таблиц великое множество. Данную тему можно смело рассматривать как отдельную. Суть подобных команд в том, чтобы указать сразу целый ряд параметров, по которым будет выполнен запрос SELECT, UPDATE, DELETE, INSERT для ускорения работы. Например, для вывода на экран всех уникальных имен людей из таблицы с клиентами, проживающих в городе с названием на букву L, из таблицы с адресами (с учетом того, что в таблице address поиск идет по полям city):

SELECT DISTINCT last_name FROM person, address WHERE person.address_no = adress.adress_no AND city :OKE 'L%';
или
SELECT DISTINCT last_name FROM person p, address adr WHERE p.adress_no = adr.address_no AND city LIKE 'L%';

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

1527 1

Один комментарий на «“Создание запросов к базе данных MySQL на примерах”»

  1. Virtual Private Servers:

    Сут вопроса нужно заменить эти данные на данные из той же таблицы user только из столбца id а не userneme. Нужно составить запрос, в котором выводятся фамилии и дни рождения тех учащихся, которые сдали математику на 5.

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

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