Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

Як тільки людина починає працювати з великою кількістю даних, виникає необхідність їх яким-небудь чином впорядковувати та архівувати, тому рано, чи пізно приходить думка про створення такого віртуального архіву, як база даних, в якій і буде зберігатися вся необхідна інформація. Тоді можна вдатися, наприклад, до такої програми, як Microsoft Access.

Створивши в ній базу даних, здається, що справу вже зроблено, але вже зовсім скоро з'явиться необхідність, яку диктує сучасне життя - це можливість користуватися всіма даними ув'язненими в базі через інтернет з інших комп'ютерів.

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

Щоб звертатися і власне працювати з БД MySQL існують певні команди, які зазвичай позначають як запити MySQL. Саме за допомогою запитів можна виконувати такі маніпуляції з базою як видалення, сортування, зміна, додавання, отримання і т.д.

Якими бувають MySQL запити?

Всі існуючі команди MySQL можна розділити на прості або легкі для розуміння і запам'ятовування і складні запити.

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

Складні запити MySQL - це команди, які можуть зачіпати одночасно дві або навіть більше таблиць з однієї бази даних.

Щоб більш детально розібратися, в чому ж полягає відмінності між запитами - давайте розглянемо кожен вид команд окремо.

Прості MySQL запити

Існує два запити, які можна назвати максимально або супер простими.
«Show databases; »- такий запит виведе на екран список всіх наявних баз даних.

«Show tables in bd; »- дана команда дозволить дізнатися кількість і найменування всіх таблиць, які є в базі даних під назвою bd.

Ну а тепер від супер простих запитів перейдемо просто до простих.

Запити MySQL типу Select

«SELECT count (*) FROM cart; »- такий запит дозволить дізнатися, скільки записів міститься в згаданій таблиці:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

«SELECT * FROM cart LIMIT 2,3; »- за допомогою даного запиту можна вибрати блок даних і вивести його. В даному випадку обрані 3 записи на висновок, починаючи з другого рядка. Такий запит може бути дуже корисний для створення блоків зі сторінками для навігації:

«SELECT * FROM people ORDER BY number; »- дана команда дозволить вивести всі поля таблиці під назвою people відповідно до полем number в порядку збільшення його значень:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

«SELECT * FROM people ORDER BY number DESC; »- цей запит дозволяє вибрати всі рядки тієї ж таблиці people. тільки впорядковані не так як в попередньому прикладі, а по спадаючій:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

«SELECT * FROM people ORDER BY number LIMIT 5; »- цей запит вибирає з таблиці people тільки 5 рядків, які розташовуються відповідно до збільшення значення поля number:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

«SELECT * FROM people WHERE name =" Anna "; »- цей запит робить вибірку полів таблиці people. в яких в ролі значення поля name вказана змінна Anna:

«SELECT * FROM people WHERE name LIKE" An% ";" - виводить тільки ті поля таблиці people. в яких в полях під назвою name починається з букв An:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

«SELECT * FROM people WHERE name LIKE"% na "ORDER BY number;» - запит виводить дані таблиці people тільки тоді, коли значення поля name закінчується буквами na. причому дані виводяться впорядкованими відповідно до збільшення значення поля number:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

«SELECT name, last_name FROM people; »- виводить на екран тільки дані таблиці people укладені в полях last_name і name:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

«SELECT DISTINCT site FROM cart; »- команда виводить тільки не повторюються значення поля site з таблиці cart. Наприклад, якщо таблиця буде містити тільки три значення sit.ru, sit.ru, wi-de.ru. то після роботи даної команди буде виведено лише два значення - sit.ru і wi-de.ru:

«SELECT * from people where age in (12,15,18); »- такий запит виведе на екран тільки ті дані з таблиці people. у яких в якості значення поля під назвою age будуть вказані цифри 12, 15 або 18:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

Запити MySQL типу Insert

Дані види запитів до бази даних дозволяють вставити необхідну інформацію в таблицю. Тобто, за допомогою команд insert можна вставити в таблицю рядок, додавши тим самим інформацію до бази даних.

«INSERT into cart (sit, des) values ​​(" sit.ru "," Sit-розробка сайтів ")» - такий запит дозволить вставити в таблицю бази під назвою cart ще один рядок, у якій в поле sit буде значення sit.ru а в поле des значення Sit розробка сайтів.

Запити MySQL типу Update

Даний вид запитів займається зміною даних вже наявних в базі.

«UPDATE cart set sit =" do.com "where id =" 3 "» - запит змінить значення, записане в поле sit таблиці cart. в рядку, номер id якої дорівнює 3, на значення do.com.

Запити MySQL типу Delete

Запити даного типу дозволяють проводити видалення записів таблиці, що є частиною бази даних.

«DELETE from cart where id =" 3 "» - даної командою видаляється вся інформація з рядка, id якої відповідає 3 в таблиці cart.

Складні запити MySQL

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

Даний запит інакше може бути введений так:
«SELECT DISTINCT name FROM people p, ads a WHERE p.adress_no = a.addr_no AND city LIKE" L% "; ».

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

«SELECT her.char_name, her.cnt, char_temp.ClassName FROM char_temp, her WHERE char_temp.ClassId = her.class_id Order by char_temp.ClassName; »- Даний запит дозволяє вивести на екран дані з полів char_name. і cnt таблиці бази під назвою her і поля ClassName з таблиці char_temp завдяки тому, що значення полів ClassId таблиці char_temp і class_id таблиці her мають однакові ідентифікатори. Дані виводяться в упорядкованому вигляді по полю ClassName таблиці char_temp.

В скороченому вигляді дана команда буде виглядати так: «SELECT char_name, cnt, ClassName FROM her left join char_temp on her.class_id = char_temp.ClassId; ».

Якщо суть побудови команд для вас стала зрозумілою, то ви легко зможете складати складні запити, використовуючи не тільки команду SELECT. але і команди UPDATE, DELETE, INSERT та інші.

Вкладені запити MySQL

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

Саме для того, щоб уникнути таких проблем MySQL робить можливим включення одного запиту до складу іншого. Такі подвійні запити називаються вкладені запити або підлеглі. У подібних запитах оператор SELECT. який розташовується усередині запиту, полягає в круглі дужки.

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

Розглянемо на прикладі. Припустимо, в нашій базі даних є дві таблиці. Перша таблиця під назвою Cat:

І друга таблиця під назвою STR:

Mysql запити - як єдино вірний спосіб виведення даних, mysql, бази даних, статті на

Наше завдання полягає в тому, щоб за допомогою вкладеного запиту взяти дані обох таблиць і в підсумку вивести на екран інформацію про те, до якого розділу включно, скільки статей ставитися.

Виглядати даний запит буде наступним чином: «SELECT (SELECT COUNT (*) FROM` STR` WHERE STR.category_id = cat.id) as `count`, cat.name FROM cat /».

Швидкість виведення результатів запиту

Для того щоб однотипні запити до бази даних швидше встановлювати, виникла необхідність в тому, щоб виробляти кешування MySQL запитів.

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

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

PHP і MySQL

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

Для того щоб працювати з MySQL в документах PHP передбачений спеціалізований алгоритм дій:

  • Установка з'єднання з базою даних за допомогою команди mysql_connect ();
  • Вибір необхідної бази даних командою mysql_select_db ();
  • PHP запити до MySQL через команду mysql_query ();
  • Обробка результату запиту mysql_fetch_array ();
  • Закриття з'єднання з базою даних або відключення від сервера БД mysql_close ();

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

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

Схожі статті