Page 129 - 4636
P. 129
7 РОБОТА З БАЗОЮ ДАНИХ MYSQL
Якщо база даних програми “Буквофил” ще не встановлена, це доведеться зробити, щоб
виконувати SQL-запити, що розглядаються у цій лекції. (Надалі для стислості ми будемо вживати
просто БД “Буквофил”, маючи на увазі під цим базу даних, яка лежить в основі програми
“Буквофил”.)
Що таке SQL?
SQL - це абревіатура від Structured. Query Language (мова структурованих запитів). Вона є
стандартною мовою для доступу до систем управління реляційними базами даних (СУРБД,
relational database management system - RDBMS). SQL використовується для збереження даних у
базі даних і подальшого їх вилучення з неї. Його застосовують у таких системах баз даних як
MySQL, Oracle, PostgreSQL, Sybase, Microsoft SQL Server і безлічі інших. Для SQL існує стандарт
ANSI, і в основному системи, подібні MySQL, розрозроблено з таким розрахунком, щоб
забезпечити реалізацію цього стандарту. Існує ряд незначних відмінностей між стандартною
мовою SQL і SQL системи MySQL. Деякі з відмінностей планується усунути в наступних версіях
MySQL, інші ж введені навмисне. У міру викладу матеріалу ми вкажемо найбільш значні
відмінності.
Напевно вам вже доводилося чути про мову визначення даних (DataDefinitionLanguage -
DDL), яка використовується для визначення баз даних, і про мову маніпулювання даними
(DataManipulationLanguage - DML), застосовуваній для видачі запитів до баз даних. SQL надає
основні функції обох мов. У попередній лекціїми розглянули визначення даних (функція, що
відноситься до DDL) в SQL, тому ви вже знайомі з застосуванням DDL. DDL використовується
при початковій установці бази даних.
Функції DML застосовуються у SQL набагато частіше, оскільки саме таким чином реальні
дані зберігаються в базах даних і вилучаються з них.
7.1 Вставка в базу даних
Перш ніж приступити до серйозної роботи з базою даних, у ній необхідно зберегти які-
небудь дані. Найчастіше для цього застосовується SQL-оператор INSERT. Згадайте, що СУРБД
містять таблиці, які, в свою чергу, містять рядки даних, організовані за стовпцями. Як правило,
кожен рядок у таблиці описує якийсь реальний об'єкт або відношення, а значення стовпців у
цьому рядку зберігають інформацію про реальний об'єкт. Оператор INSERT можна
використовувати для внесення рядків даних у базу даних. Типова форма оператора INSERT
виглядає таким чином:
INSERT [INTO] таблиця [(стовпець1, стовпець2, стовпецьЗ, ...)]
VALUES (значення1, значення2, значенняЗ, ...);
Наприклад, щоб вставити запис в таблицю}' клієнтів (customers) БД “Буквофил”, можна
ввести команду:
insert into customers values
(NULL, "Саша Валентей", "12, вул. Гудвіна", "р. Смарагдовий");
Як бачите, ми замінили таблиця реальним ім'ям таблиці, в яку вимагається внести дані, а
значення 1, значення 2, значення З і т.д. - конкретними значеннями. У даному прикладі значення
вкладені в лапки. В MySQL рядки завжди повинні полягати в пару одинарних або подвійних
лапок. (У цій книзі трапляються обидва варіанти.) Дати й числа в лапках не потребують.
З оператором INSERT пов'язано кілька цікавих моментів. Зазначені значення будуть
використовуватися для заповнення стовпців таблиці по порядку. Якщо необхідно заповнити
тільки окремі стовпці, або якщо бажано вказати їх в іншому порядку, то в ту частину оператора,
яка відноситься до стовпців, можна помістити список конкретних стовпців. Наприклад:
insert into customers (name, city) values
126