Як за допомогою запитів визначити кількість рядків в mysql

Навіщо знати скільки?

Будь-яка таблиця складається з стовпців і рядків. Обсяг зберігаються в базі даних залежить від того, скільки рядків міститься в кожній її таблиці.

Подібно до того, як число дірок в зубах людини залежить від з'їденого раніше обсягу цукерок. Точніше, від загальної ваги солодощів, яким «обдарували» вашої дитини на Новий Рік.

Зрозуміло, що від великої кількості рядків в базі MySQL пломб в роті не додасться, але все ж знання цього параметра може знадобитися при оптимізації роботи вашого сайту, для запуску деяких скриптів і т.д.

Для отримання в MySQL кількості рядків не обов'язково «кумекати» в складанні SQL-запитів. Досить просто відкрити в програмній оболонці потрібну таблицю і подивитися id останнього рядка. Саме цей стовпець найчастіше використовують в якості унікального ключа, і його значення генерується автоматично (автоінкремент) шляхом збільшення одиниці (+1) до попереднього.

Як за допомогою запитів визначити кількість рядків в mysql

Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком

Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2

Щоб довести цю «аксіому», відкриємо в phpMyAdmin таблицю будь БД. Наприклад, таблицю animal. Як видно на скріншоті, значення стовпця id йде по порядку, від 1 до. ... Так, відставити! А куди втік котяра з «ідентифікаційним номером» 4? Напевно, знову «собачок» під номерами 5 і 6 злякався

Як за допомогою запитів визначити кількість рядків в mysql

У цій базі MySQL кількість рядків в таблиці можна просто порахувати «на пальцях». Але що робити, якщо в таблиці не 7 рядків, а кілька сотень? Наприклад, як в цій.

Як за допомогою запитів визначити кількість рядків в mysql

І це лише одна з восьми сторінок вибірки. Насправді число записів може обчислюватися не тільки сотнями, а й тисячами. До того ж тут немає стовпця id, тому що він не є обов'язковим. Його наявність залежить від структури всієї БД, оскільки в ній значення всіх рядків взаємопов'язані між собою. Виходить, що описаний вище метод підрахунку рядків MySQL не завжди діє.

Кілька правильних методів

Як то кажуть, перший метод «комом», тому розглянемо кілька більш ефективних і менш «простих» способів:

Функція COUNT () - повертає число рядків. Є вбудованою функцією SQL. Все таки давайте дізнаємося, кількість записів великий таблиці з БД, скріншот якої наведено вище. Код запиту:

Як за допомогою запитів визначити кількість рядків в mysql

Виявляється в таблиці country цілих 239 записів! Зрозуміло, що для їх підрахунку не вистачить пальців ні на руках, ні на ногах (якщо не використовувати кінцівки інших людей або тварин)). Як бачите, цей спосіб в MySQL підрахунку кількості рядків працює набагато точніше і частіше за все використовується професіоналами.

Але ця функція вміє не тільки це! Наприклад, з її допомогою можна дізнатися, скільки з «представлених» в БД країн знаходяться в Європі:

Як за допомогою запитів визначити кількість рядків в mysql

Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком

Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2

Як за допомогою запитів визначити кількість рядків в mysql

А ще, скільки разів кожна країна згадується в таблиці. Приклад запиту:

Як за допомогою запитів визначити кількість рядків в mysql

За допомогою цього запиту ми дізналися кількість рядків в MySQL, в яких згадується кожна з країн. З результатів його виконання видно, що по одному разу.

Мало не забув! Якщо у вас ще немає в наявності бази world, з якої ми сьогодні працюємо, то її можна завантажити за цим посиланням з офіційного сайту розробників СУБД MySQL. Після скачування архів з нею потрібно розпакувати і потім імпортувати на серверах БД. У phpMyAdmin це можна зробити через пункт основного меню «Імпорт».

Більш детально про цю процедуру я розповідав в одному з попередніх матеріалів.

Функція MAX () - в деяких випадках вона також дозволяє в MySQL дізнатися кількість рядків у таблиці. Чому іноді? Зараз поясню. Пам'ятайте перший спосіб підрахунку, який ми розглянули на початку. Він має на увазі, що найбільше значення стовпця id дорівнює числу записів. Застосування даної функції є свого роду «автоматизацією» того методу. MAX () повертає максимальне значення зазначеного стовпця (id). Для тестування функції ми буде використовувати таблицю city, яка також входить до складу бази world. Код запиту:

Як за допомогою запитів визначити кількість рядків в mysql

В результаті виконання запиту ми отримали значення стовпця останнього рядка. Виходить, що MySQL порахував кількість рядків.

Якщо потрібно, то можна отримати останній запис цілком:

Зверніть увагу, що для вибірки перед викликом функції замість «*» ми перераховуємо назва всіх стовпців. Це особливість синтаксису при застосуванні вбудованих функцій в MySQL.

Визначення числа записів в PHP

Часто в коді сайтів PHP MySQL кількість рядків потрібно отримати для того, щоб потім передати це значення в якості вхідного параметра для подальшої обробки. Це можна зробити за допомогою наступного коду:

Результат в MySQL підрахунку кількості рядків:

Як за допомогою запитів визначити кількість рядків в mysql

Я вважаю, що ми впоралися із завданням, і дізналися, як повертає MySQL кількість рядків в результаті. Тепер можна легко занести кожну цукерку в БД під окремим ID. ... А краще їх відразу з'їсти. І щоб не було дірок в зубах, цукерки можна відразу ковтати

Як за допомогою запитів визначити кількість рядків в mysql

Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком

Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2

Найсвіжіші новини IT і веб-розробки на нашому Telegram-каналі

Схожі статті