Як відбувається пошук в MySQL – керівництво для початківців

19

Від автора: ви тут запис мою не бачили? Випала з бази, тепер не знаю, що й робити! Напевно, сьогодні візьмемося за пошук в MySQL. А я як раз згадаю, як більш ефективно просіяти дані СУБД та заодно свою рядок постараюся знайти.

Навіщо просіяти?

Просіювання в MySQL – одна з найбільш часто виконуваних завдань. Для цього в системах управління БД, що підтримують SQL, використовується команда SELECT. В попередніх матеріалах ми вже стикалися з нею, застосовуючи її для знаходження та виведення рядків, що відповідають «простеньким» критеріям сортування. Насправді дана команда є однією з головних, та її можливості в сфері пошуку записів майже безмежні.

При цьому написання правильних запитів на вибірку даних в MySQL дуже часто схоже на складання заклинань. Особливо таке враження складається у новачків, які тільки ступили на шлях вивчення СУБД. Але сьогодні ми постараємося розвіяти це «сюрреалістичне» мара, і навчимося складати правильні запити для пошуку по MySQL базі.

Як вже в нас заведено, почнемо з огляду можливостей phpMYAdmin. Подивимося, яким вбудованим функціоналом для сортування даних має ця програма.

Просіваємо рядка через phpMyAdmin

Зайдіть в програму, виберіть будь-яку БД і таблицю в ній. Я б радив вам використовувати таблиці поменше, у якої всього кілька термін. У них краще видно результати сортування.

Вибравши зліва в меню базу і таблицю, перейдіть зверху в розділ «Огляд». Після цього СУБД виведе всі рядки, які містяться в даній структурі. Для цього програма направила на виконання сервера БД запит на вибірку. Його код відображається вище результатів вибірки.

Як відбувається пошук в MySQL – керівництво для початківців

Нижче знаходиться весь вбудований функціонал програми для пошуку по MySQL базі. Щоб встановити спосіб «просіювання» по первинному ключу (за зменшенням або зростанням), використовується перемикач «Сортувати за індексом».

Як відбувається пошук в MySQL – керівництво для початківців

Крім цього можна «просіювати» всі рядки, змінивши порядок виводу даних за значенням кожного стовпця (спаданням і зростанням). Для цього треба натиснути на ім’я стовпця вгорі. При цьому для значень рядка порядок виводу буде змінюватися в алфавітному порядку.

Як відбувається пошук в MySQL – керівництво для початківців

Але весь цей функціонал стане вам у нагоді лише для здійснення пошуку в невеликих таблицях. Для більш значних обсягів даних доведеться використовувати SQL.

Потужні засоби SQL

Як вже згадувалося, для пошуку в MySQL використовується команда SELECT. Її синтаксис я наводити не буду, оскільки його розмір може налякати навіть самого досвідченого розробника. Тому тільки на скріншоті, щоб ви не впали в непритомність Як відбувається пошук в MySQL – керівництво для початківців .

Як відбувається пошук в MySQL – керівництво для початківців

«Осягати» цю команду на прикладах її використання, які можуть стати в нагоді вам для побудови більш складних запитів. Стартуємо! Я все-таки знову «поиграюсь» зі своїми «тваринками», і всі запити буду адресувати таблиці animal:

Знаходимо рядок з номером id:

SELECT * FROM `animal` WHERE id=1;

Як відбувається пошук в MySQL – керівництво для початківців

В цьому запиті ми використовуємо оператор WHERE, після якого задаємо критерій пошуку. Виводимо певні стовпці шуканого рядка:

SELECT name FROM `animal` WHERE id=1;

Як відбувається пошук в MySQL – керівництво для початківців

У даному прикладі ми вивели не повністю шуканий рядок, а тільки значення стовпця name. Пошук по строковому значенням:

SELECT * FROM `animal` WHERE name=’gala’;

Як відбувається пошук в MySQL – керівництво для початківців

Тут ми використовували в якості параметра для пошуку по MySQL базі рядкове значення. Сортування результатів вибірки за зростанням або спаданням:

SELECT * FROM `animal` ORDER BY name;

Як відбувається пошук в MySQL – керівництво для початківців

Для сортування результатів вибірки ми використовували директиву ORDER BY. За замовчуванням встановлена сортування за зростанням (ключове слово ASC). Щоб визначити зворотний порядок (за спаданням) потрібно використовувати слово DESC.

SELECT * FROM `animal` ORDER BY name DESC;

Як відбувається пошук в MySQL – керівництво для початківців

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

SELECT * FROM `animal` WHERE name=’dog’ ORDER BY ID DESC;

Як відбувається пошук в MySQL – керівництво для початківців

Заглиблюємося

Давайте покинемо наш «звірину» і перенесемося в базу даних world. На ній я покажу ще кілька прикладів вибірки даних, які відповідають заданим параметрам. Всі запити я буду демонструвати на основі таблиці country. Іноді (особливо у великих за розміром таблицях) потрібно задати не один критерій для пошуку, а кілька. Тоді запит на отримання списку країн з Європи і Африки буде виглядати наступним чином:

SELECT Name, Continent FROM `country` WHERE Continent=’Africa’ OR Continent=’Europe’;

Як відбувається пошук в MySQL – керівництво для початківців

Цей запит на пошук за MySQL базі можна скоротити, якщо використовувати ключове слово in. Наприклад:

SELECT Name, Continent FROM `country` WHERE Continent in (‘Africa’,’Europe’);

Для вказівки діапазону вибірки застосовується ключове слово Between. Давайте виведемо країни з чисельністю населення від 10 до 50 тис. За основу візьмемо попередній запит:

SELECT Name, Continent, Population FROM `country` WHERE Population BETWEEN 10000 and 50000;

Як відбувається пошук в MySQL – керівництво для початківців

Приклад PHP

Тепер наведемо приклад, як запустити пошук в PHP MySQL даних. Використовуємо попередній запит.

Як відбувається пошук в MySQL – керівництво для початківців

Ну, начебто я коротко розповів вам все про пошук в MySQL. Сподіваюся, з цієї статті ви почерпнули для себе щось новеньке. А свою рядок я так і не знайшов. Напевно, кіт поцупив, поки я відходив від компа. Ох, вже це звірі Як відбувається пошук в MySQL – керівництво для початківців .