Лабораторна робота 15 на тему База даних Mysql
« НазадЛабораторна робота 15Тема: База даних Mysql Мета: Навчитись створювати бази даних, заносити дані, створювати запити, знищувати дані. Хід роботиУсі сучасні web-сервіси використовують бази даних, у них зберігають списки зареєстрованих користувачів. У пакеті Denver входить база даних Mysql. Припустимо, нам потрібно зберігати інформацію про учнів класу. Для цих цілей необхідна база даних, у якій усі дані будуть структуровані, і можна отримувати різну інформацію через запити . Якщо ви знайомі з базами даних, наприклад з MS Access, що входити в MS Office, то ви знаєте, що всі дані в базі даних зберігаються у зв'язаних таблицях. Кожна таблиця містить набір полів, кожне може зберігати інформацію одного типу. Якби створювали базу даних в MS Access, то таблиця повинна мати наступні поля:
Тут необхідні невеликі пояснення:
База даних Mysql також оперує таблицями, полями, типами полів. Для цього в командному рядку Windows (кнопка Пуск – Виконати cmd) наберіть команду для запуску бази даних. Зверніть увагу, запуск Mysql походить із ВІРТУАЛЬНОГО диска, у наведеному прикладі це диск Z. Z:\>cd usr Параметри -u root -p, повідомляють, що запуск походить від імені суперкористувача root з порожнім паролем. Уся робота з базою даних відбувається не через звичний графічний інтерфейс, а через командний рядок (рисунок 1)! Спосіб роботи з Mysql - це використання утиліти Phpmyadmin, яка входить в Denver, і доступна за адресою http://localhost/phpmyadmin. Уся робота відбувається через web-інтерфейс. Подібні утиліти є на багатьох віддалених серверах, на яких ви будете розміщати ваші сайти Команди MysqlУсі команди друкуються на консолі. Запам'ятайте прості правила:
Часто використовувані команди: show databases; (команда, що показує вже існуючі бази даних). Відповідь консолі представлено на рисунку 2. Ви бачите, що в цей момент у користувача створено три бази даних. create database name; (створити базу даних name) Замість «name» ви повинні ввести ім'я вашої нової бази даних. При цьому створюється порожня база, що не містить ні яких таблиць. При цьому Denver створить у каталозі C:\Webservers\usr\local\mysql\data порожній каталог з іменем вашої бази даних. Ви можете використовувати цей каталог з усім умістом для переносу своїх баз із комп'ютера на комп'ютер. use name; (перейти до бази даних «name») Ту ж саму команду можна записати коротше: \u name drop database name; (вилучити базу даних name) При цьому буде вилучений каталог, у якім зберігалася база даних з усім умістом. Ні яких додаткових питань при видаленні Mysql задавати не буде, так що будьте уважні. Створення нової таблиці даних Після того, як база даних створена, (і ви зайшли в неї за допомогою команди \u) необхідно створити таблицю, описуючи всі поля, які будуть у ній: mysql> create table student (id_student int not null auto_increment, Query OK, 0 rows affected (0.06 sec)
У даному прикладі створена таблиця student, що містить шість полів. У першому рядку ми задали ім'я таблиці. Далі йде опис поля id_student, воно повинне бути цілим (int), не може бути порожнім (not null) і автоматично збільшуватись на одиницю для кожного нового запису (auto_increment). Це - аналог поля типу «лічильник» в MS Access. Поле name містить текст довжиною в 50 символів, поле birthday має тип дата (у ньому зберігається інформація виду 2006-08-24). Поле info може містити фрагмент тексту великого обсягу. Останній рядок задає ключове поле (id_author), через яке дана таблиця може зв'язуватися з іншими таблицями. Увага! Назва бази даних і всі поля ОБОВ'ЯЗКОВО пишіть латиницею, без пробілів.
Після того, як таблиця створена, ви можете переглянути її структуру за допомогою команди: mysql> describe student;
ви одержите наступне повідомлення: mysql> describe student;
6 rows in set (0.00 sec) mysql>
Для додавання даних у таблиці існує універсальна мова SQL Sql-запитиАбревіатура SQL розшифровується, як Structure Query Language - Структурована мова Запитів. За допомогою цієї мови ви можете витягти інформацію з будь-якої сучасної бази даних. Основні групи запитів. Додавання даних у таблицю Дана команда додає в таблицю user запис про учня. Повинні бути перераховані всі поля, у тій послідовності, як вони створювалися за допомогою команди create table. Тому що перше поле id_student формується автоматично, ми не повинні самі додавати значення, це зробить параметр null. Поля «інформація про учня» і «e-mail» залишені порожніми, але вони однаково повинні бути зазначені в запиті. У даному запиті використовували російські букви, але необхідно пам'ятати, що Mysql підтримує кодування koi-8, тому при виводі даних у браузері з такими символами будуть проблеми. Якщо команда набрана правильно, ви одержите відповідь: Query OK, 1 row affected (0.33 sec) Вибір даних mysql> SELECT * FROM student;
Команда вибирає всі значення з таблиці student. Якщо необхідно вибрати тільки частину значень, можна запит побудувати трохи інакше: mysql> SELECT * FROM student WHERE yare > 2001;
У такому випадку будуть виведені на екран тільки ті учні, які поступили в школу після 2001 року. mysql> SELECT * FROM student ORDER BY name;
Такий запит буде коректно сортувати по зростанню числову інформацію, а також англомовний текст. У випадку, якщо сортувати поля з кирилицею, даний запит необхідно видозмінити: mysql> SELECT * FROM student ORDER BY binary(lower(name));
Видалення даних mysql> DELETE FROM student WHERE id_ student = 5;
Даний запит видаляє запис із таблиці для учня, у якого ідентифікатор рівний п'яти. mysql> DELETE FROM student WHERE id_ student >= 1;
Зміна даних Запит на зміну даних у запису з ідентифікатором id_student рівному чотирьом. Можна змінити одне або кілька полів у даного запису. Порядок змінюваних полів у запиті значення не має. Практичні завдання
Питання для самоконтролюЩо відбувається на жорсткому диску комп'ютера при створенні нової бази даних? Нової таблиці? З повагою ІЦ "KURSOVIKS"! |