СУБД MySQL PHP. Лекція №7 презентация

Содержание

Слайд 2

СУБД MySQL

Одна з популярних СУБД, що використовуються в Web-програмуванні

Слайд 3

Що таке MySQL

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

стабільністю та легкістю у використанні.
MySQL був розроблений компанією ТсХ для внутрішніх потреб, що полягали у швидкій обробці дуже великих баз даних.
Компанія стверджує, що використовує MySQL з 1996 року на сервері з більш ніж 40 БД, що містять 10,000 таблиць, з яких більш ніж 500 мають більш 7 мільйонів рядків.

Слайд 4

Можливості MySQL.

Короткий перелік можливостей MySQL.
1. Підтримується необмежена кількість користувачів, що одночасно

працюють з базою даних.
2. Кількість рядків у таблицях може досягати 50 млн!
3. Швидке виконання команд. Можливо MySQL найшвидший сервер з існуючих.
4. Проста та ефективна система безпеки.

Слайд 5

Типи полів

Строки
VARCHAR(n) – від 1 до 255 символів
TINYTEXT
TEXT – не більш 65535 символів
MEDIUMTEXT
LONGTEXT

Дата

і час
DATE - дата в форматі YYYY-MM-DD
TIME - час в форматі HH: MM: SS
DATETIME - дата і час в форматі YYYY-MM-DD HH: MM: SS
TIMESTAMP - дата і час в форматі timestamp, при отриманні значення поля воно відбивається не в форматі timestamp, а у вигляді YYYY-MM-DD HH: MM: SS

Слайд 6

Модифікатори

До типу можна приєднувати модифікатори, які задають поведінку типу та операції, які дозволено

/ заборонено виконувати з відповідними стовпцями
not null - поле не може містити невизначене значення, поле обов'язково має бути ініціалізовано при вставці нового запису в таблицю
primary key - поле є первинним ключем
auto_increment - при вставці нового запису поле отримає унікальне значення…

Слайд 7

phpMyAdmin

Система адміністрування, цілком написана на PHP
Дозволяє
Створювати та видаляти бази даних
Створювати та видаляти таблиці

баз даних
Переглядати і редагувати бази даних і їх таблиці
Змінювати структуру таблиць
переглядати статистику

Слайд 8

phpMyAdmin

Слайд 9

Алгоритм роботи з БД в РНР

Встановлюємо з'єднання з сервером
Вибираємо потрібну базу даних
Робимо

запит до сервера баз даних (sql запит)
Обробляємо результат запиту, якщо це необхідно
Закриваємо з'єднання (відключаємося від сервера БД)

Слайд 10

Мінімум потрібних функцій

mysql_connect();
mysql_select_db();
mysql_query();
mysql_fetch_array();
mysql_close();

Слайд 11

Функції для роботи з MySQL

mysql_connect(string hostname, string username, string password) встановлює з’єднання з MySQL-сервером mysql_connect("localhost",

"root", "");

Слайд 12

Функції для роботи з MySQL

mysql_close () закриває з’єднання з MySQL-сервером
mysql_close();

Слайд 13

Функції для роботи з MySQL

mysql_select_db(string dbname) вибирає базу даних mysql_select_db("test");
mysql_query(string query) формування і відправка SQL-запита

Слайд 14

Приклад роботи з БД
// Дані для mysql серверу
$dbhost = "localhost"; //

Хост
$dbuser = "guest"; // І’мя користувача
$dbpassword = "mypassword"; // Пароль
$dbname = "database"; // І’мя бази даних
// Підключаємося до mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword);
// Вибираємо нашу базу даних
mysql_select_db($dbname, $link);
// Створюємо таблицю customer // тобто робимо sql запит
$query = "create table customer (id int(2) primary key auto_increment, name varchar(100), tel varchar(20))";
mysql_query($query, $link);
// Закриваємо підключення
mysql_close($link)
?>

Слайд 15

Приклад: Що буде?

,`email` VARCHAR( 20 ) NOT NULL ,`number` VARCHAR( 9 ) NOT NULL ,`id` INT NOT NULL AUTO_INCREMENT, PRIMARY KEY ( `id` ) );"); ?>

Слайд 16

Розміщення БД

В каталозі data при створенні нової БД створюється каталог з такою ж

назвою

Слайд 17

Розміщення БД

Кожна таблиця розміщується в трьох файлах
table.frm - містить структуру самої таблиці
table.myd -

зберігаються фактичні дані
table.myi - зберігаються дані про ключі та інші службові дані, необхідні MySQL для швидкого пошуку даних в файлі table.myd

Слайд 18

Розміщення БД

Слайд 19

Додавання записів

"); else echo «Підключення з MySQL встановлено
"; mysql_select_db("phonebase"); mysql_query("INSERT INTO `phone`

( `name` , `email` , `number` , `id` ) VALUES (‘Іванов', 'ivanov@gmail.com', '123456789', 'null');"); mysql_query("INSERT INTO `phone` ( `name` , `email` , `number` , `id` ) VALUES ('Петров', 'petrov@gmail.com', '987654321', 'null');"); mysql_query("INSERT INTO `phone` ( `name` , `email` , `number` , `id` ) VALUES ('Михайленко', 'mikhayl@gmail.com', '192837465', 'null');"); ?>

Слайд 20

Функції обробки результатів запиту

Якщо запит, виконаний за допомогою функції mysql_query() успішно виконався, то

в результаті клієнт отримає набір записів, який може бути оброблений наступними функціями PHP:
mysql_result() - отримати необхідний елемент з набору записів;
mysql_fetch_array() - занести запис в масив;
mysql_fetch_row() - занести запис в масив;
mysql_fetch_assoc() - занести запис в асоціативний масив;
mysql_fetch_object() - занести запис в об'єкт.

Слайд 21

Отримання даних

mysql_fetch_array(int $result) вибирає результуючий рядок як асоціативний масив, дані зберігаються як в

асоціативному, так і в індексному масивах

Слайд 22

Отримання даних

mysql_fetch_assoc(int $result) mysql_fetch_row(int $result) вибирають результуючий рядок в асоціативний масив, дані зберігаються в

асоціативному / індексному масиві

Слайд 23

Отримання даних

mysql_num_rows(int $result) mysql_num_fields(int $result) повертають число рядків (полів) в результуючому рядку

Слайд 24

Отримання даних

"); mysql_select_db("phonebase"); $result=mysql_query("select * from phone"); for($i=0;$i

as $k=>$v) echo '$arr[',$k,"]=",$v,"
"; } ?>

Слайд 25

Отримання даних

"); mysql_select_db("phonebase"); $result=mysql_query("select * from phone"); for($i=0;$i

($arr as $k=>$v) echo '$arr[',$k,"]=",$v,"
"; } ?>

Слайд 26

Отримання даних

"); mysql_select_db("phonebase"); $result=mysql_query("select * from phone"); for($i=0;$i

($arr as $k=>$v) echo '$arr[',$k,"]=",$v,"
"; } ?>

Слайд 27

Отримання даних

"); mysql_select_db("phonebase"); $result=mysql_query("select * from phone"); while (list($name,$email,$number,$id)=mysql_fetch_row($result)) { echo '$name=',$name,"
";

echo '$email=',$email,"
"; echo '$number=',$number,"
"; echo '$id=',$id,"
"; } ?>

Слайд 28

Отримання даних

"); mysql_select_db("phonebase");

Слайд 29

Отримання даних

$result=mysql_query("select * from phone"); while (list($name,$email,$number,$id)=mysql_fetch_row($result)) echo ("

"); ?>
ПІБ E-mail Номер
$name$email$number

Слайд 30

Додавання даних

Имя:

E-mail:

Номер:


Слайд 31

Додавання даних


В таблицу

додано:
ПІБ:
E-mail:
Номер:

Слайд 32

Завантаження/вивантаження даних

За замовчуванням MySQL повертає всі результати користувачеві, який зробив запит
Але можливо і

перенаправлення результатів запиту в файл
Для цього використовується специфікатор INTO OUTFILE filename
FIELDS TERMINATED BY 'c' визначає символ, який використовується для поділу полів

Слайд 33

Завантаження/вивантаження даних

Для читання текстового файлу і вставки даних в таблицю використовується оператор LOAD
LOAD

DATA [LOCAL] INFILE file INTO TABLE ...
Передбачається, що зазначений файл знаходиться на сервері
Якщо шлях до файлу не вказано, то передбачається, що він знаходиться в тому ж каталозі, що і база даних
Специфікатор LOCAL задає розташування файлу на клієнтській машині

Слайд 34

Завантаження/вивантаження даних

"); mysql_query("create database `out`"); mysql_select_db("out");
mysql_query("CREATE TABLE `info` (`a`

TEXT NOT NULL ,`b` INT NOT NULL ,`c` TIMESTAMP);");
mysql_query("insert into info values('one',1,null)"); mysql_query("insert into info values('two',2,null)"); mysql_query("insert into info values('three',3,null)");
$result=mysql_db_query("out","select * from info"); while ($arr=mysql_fetch_assoc($result)) foreach ($arr as $k=>$v) echo '$arr[',$k,"]=",$v,"
"; ?>

Слайд 35

Завантаження/вивантаження даних

Слайд 36

Завантаження/вивантаження даних

'z:/out.txt' fields terminated by '#'"); ?>

Слайд 37

Завантаження/вивантаження даних

mysql_query("load data local infile 'z:/out.txt' into

table info fields terminated by '#'");
mysql_query("select * from info");
$result=mysql_db_query("out","select * from info"); while ($arr=mysql_fetch_assoc($result)) foreach ($arr as $k=>$v) echo '$arr[',$k,"]=",$v,"
"; ?>
Имя файла: СУБД-MySQL-PHP.-Лекція-№7.pptx
Количество просмотров: 25
Количество скачиваний: 0