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
   124   125   126   127   128   129   130   131   132   133   134