Выборка из таблицы MySQL

Наполняем таблицу исходными данными. Как создать структуру базы данных в MySQL см.здесь и здесь

<?php
include('connect.php'); // файл для подключения к бд

// добавление данных в таблицу
$sql = "INSERT INTO `products` (`id`, `name`, `description`, `cost`, `date_wr`) VALUES 
(NULL, 'Молоко', '3 литра', '150', current_timestamp()),
(NULL, 'Капуста', '1 кг', '30', current_timestamp()), 
(NULL, 'Соль', '1 кг', '30', current_timestamp()), 
(NULL, 'Хлеб', '400 грамм', '60', current_timestamp()),
(NULL, 'Мандарины', '1 кг', '140', current_timestamp()),
(NULL, 'Сыр', '100 грамм', '200', current_timestamp()), 
(NULL, 'Яблоки', '1 кг', '110', current_timestamp()),
(NULL, 'Бананы', '1 кг', '60', current_timestamp()),
(NULL, 'Апельсины', '1 кг', '120', current_timestamp()),
(NULL, 'Сахар', '1 кг', '50', current_timestamp()),
(NULL, 'Куриные яйца', '10 штук', '80', current_timestamp());
";

if ($link->query($sql) === TRUE) {
   echo "Данные успешно добавлены в таблицу";
} else {
   echo "Ошибка добавления данных в таблицу" . $link->error;
}
$link->close();
?>

Таблица с данными phpMyAdmin


Выборка всех данных из таблицы

<?php
include('connect.php'); // файл для подключения к бд

// выборка всех данных из таблицы, кроме даты
$sql = "SELECT id, name, description, cost FROM products";

$result = $link->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "№ ".$row["id"]." Наименование: ".$row["name"].", Описание: ".$row["description"].", Стоимость: ".$row["cost"]."<br>";
    }
} else {
    echo "Ничего не найдено";
}
$link->close();
?>

Результат
№ 3 Наименование: Молоко, Описание: 3 литра, Стоимость: 150.00;
№ 4 Наименование: Капуста, Описание: 1 кг, Стоимость: 30.00;
№ 5 Наименование: Соль, Описание: 1 кг, Стоимость: 30.00;
№ 6 Наименование: Хлеб, Описание: 400 грамм, Стоимость: 60.00;
№ 7 Наименование: Мандарины, Описание: 1 кг, Стоимость: 140.00;
№ 8 Наименование: Сыр, Описание: 100 грамм, Стоимость: 200.00;
№ 9 Наименование: Яблоки, Описание: 1 кг, Стоимость: 110.00;
№ 10 Наименование: Бананы, Описание: 1 кг, Стоимость: 60.00;
№ 11 Наименование: Апельсины, Описание: 1 кг, Стоимость: 120.00;
№ 12 Наименование: Сахар, Описание: 1 кг, Стоимость: 50.00;
№ 13 Наименование: Куриные яйца, Описание: 10 штук, Стоимость: 80.00;


Отсортируем наименование товара в алфавитном порядке по возрастанию (ORDER BY столбец ASC (DESC))

<?php
include('connect.php'); // файл для подключения к бд

// отсортируем данные по алфавиту
$sql = "SELECT id, name, description, cost FROM products ORDER BY name ASC";
//сортировка данных в обратном порядке DESC
//$sql = "SELECT id, name, description, cost FROM products ORDER BY name DESC";

$result = $link->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "№ ".$row["id"]." Наименование: ".$row["name"].", Описание: ".$row["description"].", Стоимость: ".$row["cost"]."<br>";
    }
} else {
    echo "Ничего не найдено";
}
$link->close();
?>

Результат:

отсортированные товары в алфавитном порядке


Теперь найдем те товары, у которых стоимость ниже 100 рублей и вес 1 кг.

<?php
include('connect.php'); // файл для подключения к бд

$sql = "SELECT id, name, description, cost FROM products WHERE cost<100 AND description='1 кг'";

$result = $link->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "№ ".$row["id"]." Наименование: ".$row["name"].", Описание: ".$row["description"].", Стоимость: ".$row["cost"]."<br>";
    }
} else {
    echo "Ничего не найдено";
}
$link->close();
?>

Результат
№ 4 Наименование: Капуста, Описание: 1 кг, Стоимость: 30.00;
№ 5 Наименование: Соль, Описание: 1 кг, Стоимость: 30.00;
№ 10 Наименование: Бананы, Описание: 1 кг, Стоимость: 60.00;
№ 12 Наименование: Сахар, Описание: 1 кг, Стоимость: 50.00;


Если, например, надо вывести наименование товара между стоимостью 100 руб. и 150 руб. можно использовать оператор BETWEEN, запрос будет выглядеть следующем образом:

$sql = «SELECT id, name, description, cost FROM products WHERE cost BETWEEN 100 AND 150»;

Результат
№ 3 Наименование: Молоко, Описание: 3 литра, Стоимость: 150.00;
№ 7 Наименование: Мандарины, Описание: 1 кг, Стоимость: 140.00;
№ 9 Наименование: Яблоки, Описание: 1 кг, Стоимость: 110.00;
№ 11 Наименование: Апельсины, Описание: 1 кг, Стоимость: 120.00;


Найдем все продукты, которые начинаются на символ ‘C’ с помощью оператора LIKE (NOT LIKE)

$sql = «SELECT id, name, description, cost FROM products WHERE name LIKE ‘С%'»;

Результат
№ 5 Наименование: Соль, Описание: 1 кг, Стоимость: 30.00;
№ 8 Наименование: Сыр, Описание: 100 грамм, Стоимость: 200.00;
№ 12 Наименование: Сахар, Описание: 1 кг, Стоимость: 50.00;


Вывести все продукты, которые начинаются на символ ‘C’ и не менее четырех символов

$sql = «SELECT id, name, description, cost FROM products WHERE name LIKE ‘С___'»;

Результат
№ 5 Наименование: Соль, Описание: 1 кг, Стоимость: 30.00;


SQL запрос на получение количества записей в таблице — COUNT

SELECT COUNT(*) FROM products;

Вернёт: 11


SQL запрос на получение максимальной цены на товар — MAX

SELECT MAX(cost) FROM products;

Вернёт: 200


SQL запрос на получение минимальной цены на товар — MIN

SELECT MIN(cost) FROM products;

Вернёт: 30


SQL запрос на получение средней цены на товарAVG

SELECT AVG(cost) FROM products;

Вернёт: 93.636364


SQL запрос на лимит данных LIMIT

SELECT * FROM products LIMIT 5;

Результат:

LIMIT mysql таблица


SQL запрос на вывод только уникальных (не повторяющихся) данных из таблицы MySQL

SELECT DISTINCT(description) FROM products;

Результат

пример таблицы уникальные значения DISTINCT

1084

Leave a Reply

Ваш адрес email не будет опубликован.