SlideShare a Scribd company logo
1 of 24
Работа с база данни в PHP 
Тема 9
Съдържание 
1. За MySQL 
2. Създаване на връзка(Connection) с 
базата данни 
3. Създаване на база данни 
4. Въвеждане на данни в таблицата - 
Insert Into 
5. Селектиране (извеждане) на данни 
6. Други команди на PHP използвани с 
база данни
1. За MySQL 
 Не е възможно да си представим модерен 
и високофункционален сайт в основата, на 
който не стои база данни; 
 Услуги като: 
 Онлайн банкиране; 
 Пазаруване; 
 и дори просто организиране на информацията; 
са немислими без използаване на система за 
бази данни.
MySQL 
 Една от най-популярните и разпространени в Интернет 
системи за управление на бази данни; 
 Повече – на http://www.mysql.com ; 
 Основната версия на системата е безплатна за 
използване; 
 Системата може: 
 да изпълнява заявките на неограничен брой потребители, 
 издържа до 50 милиона записа, 
 предлага лесна за използване система за управление на 
правата на различните потребители, 
 отлична скорост на обработка на заявките.
MySQL (2) 
 MySQL е система за управление на релационна база 
данни (БД): 
 която използва Structured Query Language (SQL) - най- 
популярният език за добавяне, прочитане и обработка на 
информация в базите данни днес: 
 може да се използва с голяма група програмни езици - C, C+, 
Java, Perl, PHP, Python и др. и има версии за Linux, UNIX и 
Windows. 
 БД представляват съвкупности от информационни 
единици, организирани формално в таблици. 
 Достъпът и промяната на данните се извършва, без да е 
необходимо реорганизирането на таблиците или каквото и да 
било друго в БД. 
 Едно от най-важните предимства на релационните БД е 
лекотата, с която се създават, четат и изтриват записите, както 
и лесната разширяемост.
Релационната БД 
 Релационната БД се състои от таблици, в които данните са 
подредени по колони (категории). 
 Всеки ред съдържа уникално смислено съчетание от данни 
(стойности на колоните). 
 Така таблицата всъщност свързва категориите, тя е "релация" 
между тях. 
 Данните от различни таблици също могат да са свързани - така 
имаме отново релация, но този път между таблиците. 
 По този начин таблиците и връзките между тях спояват данните в 
едно логическо цяло, и именно то е (релационна) базата данни. 
 Важно е да се запомни, че MySQL не е база данни, а система за 
управление на база данни и то на релационна база данни.
Съдаване на таблица 
CREATE TABLE people ( 
id int(20) NOT NULL auto_increment, 
LastName varchar(50) NOT NULL, 
LastName varchar(50) NOT NULL, 
Address varchar(100) NOT NULL, 
City varchar(20), 
PRIMARY KEY (id), 
UNIQUE unq_name (LastName) 
); 
->next
Таблица - Пример 
id LastName FirstName Address City 
1 Hansen Ola Timoteivn 10 Sandnes 
2 Svendson Tove Borgvn 23 Sandnes 
3 Петър Петров Незабравка 5 София
MySQL - типове данни 
 Ето описанията на основните: 
 CHAR (х) - низове с точно определена дължина. Възможната стойност за х е 
от 1 до 255. Пример :user_id CHAR(10) - очаква се името на модела да е точно 
10 символа. 
 VARCHAR (х) - низове с максимална дължина х. Възможните стойности са 
между 1 и 65,535 след версия - MySQL 5.0.3. Пример : user_id VARCHAR(10). 
 INT (х) [Unsigned] - използва се за указване на цели числа между 
-2147483648 и 2147483647. Ако се използва Unsigned, тогава валидните числа 
са между 0 и 4294967295. Пример : user_phone INT. 
 FLOAT [(M,D)] - указва малко дробно число, като М регулира общия брой 
цифри, от които може да се състои числото, а D ограничава колко от тях може 
да са зад десетичната запетая. 
 DATE - използва се за съхранение на дати, както говори и името. Форматът по 
подразбиране е "ГГГГ-ММ-ДД", като можете да поставяте стойности от '0000- 
00-00' до '9999-12-31'. MySQL поддържа множество команди за работа с дати, 
които няма да обсъждаме тук. Пример : born DATE.
MySQL - типове данни (2) 
 TEXT - служи за съхраняване на по-големи низове - от 255 до 
65535 символа. Не прави разлика между малки големи букви. 
 BLOB - също като TEXT, с разликата, че търсенето тук взима 
предвид малките и големи букви. 
 SET - по-сложна дефиниция, която може би никога няма да 
използвате, но е добре да знаете. Може да съдържа до 64 
предварително дефинирани стойности, от които могат да се 
избират една или повече. Например : transport SET ("vlak", 
"avtobus") NOT NULL - от тук имам четири възможности за избор 
- нито едно от двете, само едното от тях (влак ИЛИ автобус) или 
и двете (влак И автобус). Както забелязвате, възможните 
стойности се задават в момента на създаването на таблицата. 
 ENUM - също като SET, но е позволено избирането само на 
една стойност. Ако се върнем на горния пример, тук не можем да 
изберем варианта влак И автобус.
Полетата в таблицата 
 NOT NULL означава, че полето не може да остане празно в 
нито един от записите в таблицата. Попълването му е 
задължително, в противен случай ще се появи информация за 
грешка. 
 AUTO_INCREMENT означава, че стойността на това поле 
автоматично ще бъде добавена като към стойността на полето 
от предходния запис се добави 1. Обикновено при този тип 
полета посочвате NULL като стойност при добавянето на записа. 
Използва се често за създаване на уникален идентификатор за 
отделните записи и може да ви свърши много полезна работа. 
 PRIMARY KEY (първичен ключ на таблицата) е онова поле, 
което системата използва, за да разграничава различните 
записи. Не може да има два различни реда с една и съща 
стойност на полето, определено за първичен ключ. Всяка 
таблица има свой PRIMARY KEY. 
 UNIQUE също ще ви гарантира уникалността на информацията.
2. Създаване на връзка (Connection) с 
базата данни 
 Преди достъп до базата данни, трябва да 
създадете връзка с нея. 
 В PHP това се извършва с функцията 
mysql_connect(). 
 Синтаксис: 
 mysql_connect (servername,username,password); 
 servername - Определя сървърът, с който се свързваме. 
По подразбиране е „localhost:3306“ 
 username - Определя името, с което искаме да се логнем. 
По подрзабиране е името на потребителя имащ право на 
контрол върху процесите на сървъра 
 password - Определя паролата за логване. По 
подразбиране е "“;
Пример 
../uroci/t9/ ex91.php 
<?php 
$con = 
mysql_connect('localhost', 
'root', ''); 
if (!$con) 
{ 
die('Could not connect: <br/> ' 
. mysql_error()); 
} 
echo 'Connected 
successfully <br/>'; 
mysql_close($con); 
?> 
 декларираме връзката в 
променлива ($con). 
 частта, която е определена 
като "die" ще бъде 
изпълнена, в случай че 
връзката не се осъществи; 
 Затварянето на връзката 
ще стане автоматично със 
завършването на скрипта. 
 За предварително 
прекратяване на връзката 
се използва функцията 
mysql_close().
3. Създаване на база данни 
 Знае се, че базата данни съдържа една или 
множество свързани таблици. 
 За да се създаде база данни се използва командата 
 CREATE DATABASE. 
 Синтаксисът й е следният: 
 CREATE DATABASE database_name 
 За да накараме PHP да изпълни скрипта показан по- 
горе, трябва да използваме функцията 
 mysql_query(). 
 Тази функция се използва за изпращане на заявки 
или за управление на връзката с базата данни.
Създаване на: 
 Създаване на база данни "my_db": 
 Виж. ->../uroci/t9/ ex92.php; 
 Създаване на таблица в базата данни: 
 Командата CREATE TABLE се използва за 
създаване на таблица. 
 За да се постигне това е необходимо да се добави 
командата към функцията 
 mysql_query (). 
 Виж.-> ../uroci/t9/ ex93.php
По уникален скрипт на 
таблица 
$sql = "CREATE TABLE Persons 
( 
personID int NOT NULL 
AUTO_INCREMENT, 
PRIMARY KEY(personID), 
FirstName varchar(15), 
LastName varchar(15), 
Age int 
)"; 
mysql_query($sql,$con);
4. Въвеждане на данни в 
таблицата - Insert Into 
 Командата INSERT INTO се използва за добавяе на 
данни (записи) втаблиците на базата данни. 
 Има два начина да се изписва и ползва командата. 
 Първият синтаксис не използва имената на колоните от 
таблицата в които ще се записват данните, а само техните 
стойности: 
INSERT INTO table_name VALUES (value1, value2, ..) 
 Вторият синтаксис определя както имената на колоните така и 
стойностите, които ще се запишат в таблицата 
INSERT INTO table_name (column1, column2, column3,...) 
VALUES (value1, value2, value3,...) 
 Виж. ->../uroci/t9/ ex94.php
Въвеждане на данни с използване на 
HTML формите (forms). 
 Създаваме два файла: 
 ../uroci/t9/ form.html 
 ../uroci/t9/insert.php 
 Когато потребителят кликне с мишката върху бутона 
"submit" от HTML формата, то данните от формата ще 
се изпратят на файла "insert.php". 
 Той от своя страна се свързва с базата данни и 
намира (получава) стойностите от формата с 
променливата $_POST. 
 След това функцията mysql_query() изпълнява 
командата INSERT INTO като добавя нов запис в 
таблицата "Persons" .
5. Селектиране (извеждане) 
на данни 
 Командата SELECT се използва за извеждане на 
данни от базата данни. 
 Синатаксисът на командата има следния вид: 
SELECT column_name(s) FROM table_name 
 За да накараме PHP да изпълни командата ние 
трябва да използваме функцията mysql_query(). 
 Тази функция се използва, за да изпрати заявка или 
команда на връзката с базата данни. 
 Следния пример извежда данни от таблицата 
"Persons" (* - означава да изведе всички данни от 
таблицата) ->next
Пример 
<?php 
$con = 
mysql_connect("localhost","peter","abc123"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("my_db", $con); 
$result = mysql_query("SELECT * FROM 
Persons"); 
while($row = mysql_fetch_array($result)) 
{ 
echo $row['FirstName'] . " " . 
$row['LastName']; 
echo "<br />"; 
} 
mysql_close($con); 
?> 
 Изведените данни се запазват от 
функцията mysql_query () в 
променливата $result. 
 След това използваме функцията 
mysql_fetch_array (), за да върнем 
поредният запис във вид на масив - 
всяко извикване на mysql_fetch_array 
() връща един ред. 
 Цикълът while обхожда всички 
записиси в таблицата. 
 За да принтираме стойностите, 
използваме променливата $row - 
($row['FirstName'] and 
$row['LastName']). 
 Виж. ../uroci/t9/ex95.php
6. Други команди на PHP 
използвани с база данни 
 Командата UPDATE се използва за да се 
променят съществуващи записи в таблица. 
 !!!Условието WHERE определя кой или кои 
записи да се променят. Ако се изпусне, то 
всички записи ще бъдат променени. 
 Синтаксис: 
 UPDATE table_name 
SET column1=value, column2=value2,... 
WHERE some_column=some_value
Пример 
<?php 
$con = mysql_connect("localhost","peter","abc123"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("my_db", $con); 
mysql_query("UPDATE Persons SET Age = '36' 
WHERE FirstName = 'Peter' AND LastName = 'Griffin'"); 
mysql_close($con); 
?>
DELETE 
 Командата DELETE се използува за 
премахване на данни от таблицата. 
 Условието WHERE определя кой или кои 
записи да се изтрият. 
 Ако се изпусне, то всички записи ще бъдат изтрити. 
 Синтаксисът е следният: 
DELETE FROM table_name 
WHERE some_column = some_value
Пример 
<?php 
$con = mysql_connect("localhost","peter","abc123"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("my_db", $con); 
mysql_query("DELETE FROM Persons WHERE 
LastName='Griffin'"); 
mysql_close($con); 
?>

More Related Content

Viewers also liked

Viewers also liked (6)

Angelamcrobbie
Angelamcrobbie Angelamcrobbie
Angelamcrobbie
 
Theorists
TheoristsTheorists
Theorists
 
Web Technology for non techies
Web Technology for non techiesWeb Technology for non techies
Web Technology for non techies
 
Angela McRobbie
Angela McRobbieAngela McRobbie
Angela McRobbie
 
A2 fem gen
A2 fem genA2 fem gen
A2 fem gen
 
Angela McRobbie theory
Angela McRobbie theoryAngela McRobbie theory
Angela McRobbie theory
 

Similar to B9 t9 db_my_sql

22 sazdavane na bd i tablici v sql server
22 sazdavane na bd i tablici v sql server22 sazdavane na bd i tablici v sql server
22 sazdavane na bd i tablici v sql serverIvan Peev
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroSvetlin Nakov
 
17 klauzi upraznenia
17 klauzi   upraznenia17 klauzi   upraznenia
17 klauzi uprazneniaIvan Peev
 
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...DAVID Academy
 
Introduction to-rdbms-systems
Introduction to-rdbms-systemsIntroduction to-rdbms-systems
Introduction to-rdbms-systemsRosen Spasov
 
18 operatori i funkcii
18 operatori i funkcii18 operatori i funkcii
18 operatori i funkciiIvan Peev
 
22a sazdavane na bd i tablici v sql server upraznenie
22a sazdavane na bd i tablici v sql server   upraznenie22a sazdavane na bd i tablici v sql server   upraznenie
22a sazdavane na bd i tablici v sql server upraznenieIvan Peev
 
23a sazdavane na izgledii v sql server upraznenie
23a sazdavane na izgledii v sql server   upraznenie23a sazdavane na izgledii v sql server   upraznenie
23a sazdavane na izgledii v sql server upraznenieIvan Peev
 
1. въведение в ms access
1. въведение в ms access1. въведение в ms access
1. въведение в ms accessdnaidenowa
 
2022 TurnovoConf MySQL за начинаещи.pptx
2022 TurnovoConf MySQL за начинаещи.pptx2022 TurnovoConf MySQL за начинаещи.pptx
2022 TurnovoConf MySQL за начинаещи.pptxGeorgi Kodinov
 
21a manipulirane na danni v sql server upraznenie
21a manipulirane na danni v sql server   upraznenie21a manipulirane na danni v sql server   upraznenie
21a manipulirane na danni v sql server upraznenieIvan Peev
 
ИнтеRESTни уеб услуги
ИнтеRESTни уеб услугиИнтеRESTни уеб услуги
ИнтеRESTни уеб услугиsvilen.ivanov
 
Konspekt prilojen mrejovi-software-12kl
Konspekt prilojen mrejovi-software-12klKonspekt prilojen mrejovi-software-12kl
Konspekt prilojen mrejovi-software-12klIvan Peev
 
24 sazdavane na potrebiteli i zadavane na razreshenia
24 sazdavane na potrebiteli i zadavane na razreshenia24 sazdavane na potrebiteli i zadavane na razreshenia
24 sazdavane na potrebiteli i zadavane na razresheniaIvan Peev
 
19 saedinenia na tablici
19 saedinenia na tablici19 saedinenia na tablici
19 saedinenia na tabliciIvan Peev
 
Защита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияЗащита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияNikolay Milkov
 

Similar to B9 t9 db_my_sql (20)

22 sazdavane na bd i tablici v sql server
22 sazdavane na bd i tablici v sql server22 sazdavane na bd i tablici v sql server
22 sazdavane na bd i tablici v sql server
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - Intro
 
Anti SQLi
Anti SQLiAnti SQLi
Anti SQLi
 
B7 t7 arrays
B7 t7 arraysB7 t7 arrays
B7 t7 arrays
 
B7 t7 arrays
B7 t7 arraysB7 t7 arrays
B7 t7 arrays
 
17 klauzi upraznenia
17 klauzi   upraznenia17 klauzi   upraznenia
17 klauzi upraznenia
 
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
 
Introduction to-RDBMS-systems
Introduction to-RDBMS-systemsIntroduction to-RDBMS-systems
Introduction to-RDBMS-systems
 
Introduction to-rdbms-systems
Introduction to-rdbms-systemsIntroduction to-rdbms-systems
Introduction to-rdbms-systems
 
18 operatori i funkcii
18 operatori i funkcii18 operatori i funkcii
18 operatori i funkcii
 
22a sazdavane na bd i tablici v sql server upraznenie
22a sazdavane na bd i tablici v sql server   upraznenie22a sazdavane na bd i tablici v sql server   upraznenie
22a sazdavane na bd i tablici v sql server upraznenie
 
23a sazdavane na izgledii v sql server upraznenie
23a sazdavane na izgledii v sql server   upraznenie23a sazdavane na izgledii v sql server   upraznenie
23a sazdavane na izgledii v sql server upraznenie
 
1. въведение в ms access
1. въведение в ms access1. въведение в ms access
1. въведение в ms access
 
2022 TurnovoConf MySQL за начинаещи.pptx
2022 TurnovoConf MySQL за начинаещи.pptx2022 TurnovoConf MySQL за начинаещи.pptx
2022 TurnovoConf MySQL за начинаещи.pptx
 
21a manipulirane na danni v sql server upraznenie
21a manipulirane na danni v sql server   upraznenie21a manipulirane na danni v sql server   upraznenie
21a manipulirane na danni v sql server upraznenie
 
ИнтеRESTни уеб услуги
ИнтеRESTни уеб услугиИнтеRESTни уеб услуги
ИнтеRESTни уеб услуги
 
Konspekt prilojen mrejovi-software-12kl
Konspekt prilojen mrejovi-software-12klKonspekt prilojen mrejovi-software-12kl
Konspekt prilojen mrejovi-software-12kl
 
24 sazdavane na potrebiteli i zadavane na razreshenia
24 sazdavane na potrebiteli i zadavane na razreshenia24 sazdavane na potrebiteli i zadavane na razreshenia
24 sazdavane na potrebiteli i zadavane na razreshenia
 
19 saedinenia na tablici
19 saedinenia na tablici19 saedinenia na tablici
19 saedinenia na tablici
 
Защита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияЗащита при създаването на PHP-приложения
Защита при създаването на PHP-приложения
 

More from Asiya Petrova

More from Asiya Petrova (17)

B8 t8 files
B8 t8 filesB8 t8 files
B8 t8 files
 
B6 t6 errors
B6 t6 errorsB6 t6 errors
B6 t6 errors
 
B5 t5 if_else_for_while
B5 t5 if_else_for_whileB5 t5 if_else_for_while
B5 t5 if_else_for_while
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 
B3 t3 cookies
B3 t3 cookiesB3 t3 cookies
B3 t3 cookies
 
B2 t2 variables
B2 t2 variablesB2 t2 variables
B2 t2 variables
 
B1 t1 php_basics
B1 t1 php_basicsB1 t1 php_basics
B1 t1 php_basics
 
A1 install xampp
A1 install xamppA1 install xampp
A1 install xampp
 
B9 t9 db_my_sql
B9 t9 db_my_sqlB9 t9 db_my_sql
B9 t9 db_my_sql
 
B6 t6 errors
B6 t6 errorsB6 t6 errors
B6 t6 errors
 
B5 t5 if_else_for_while
B5 t5 if_else_for_whileB5 t5 if_else_for_while
B5 t5 if_else_for_while
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 
B3 t3 cookies
B3 t3 cookiesB3 t3 cookies
B3 t3 cookies
 
A1 install xampp
A1 install xamppA1 install xampp
A1 install xampp
 
B2 t2 variables
B2 t2 variablesB2 t2 variables
B2 t2 variables
 
B1 t1 php_basics
B1 t1 php_basicsB1 t1 php_basics
B1 t1 php_basics
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 

B9 t9 db_my_sql

  • 1. Работа с база данни в PHP Тема 9
  • 2. Съдържание 1. За MySQL 2. Създаване на връзка(Connection) с базата данни 3. Създаване на база данни 4. Въвеждане на данни в таблицата - Insert Into 5. Селектиране (извеждане) на данни 6. Други команди на PHP използвани с база данни
  • 3. 1. За MySQL  Не е възможно да си представим модерен и високофункционален сайт в основата, на който не стои база данни;  Услуги като:  Онлайн банкиране;  Пазаруване;  и дори просто организиране на информацията; са немислими без използаване на система за бази данни.
  • 4. MySQL  Една от най-популярните и разпространени в Интернет системи за управление на бази данни;  Повече – на http://www.mysql.com ;  Основната версия на системата е безплатна за използване;  Системата може:  да изпълнява заявките на неограничен брой потребители,  издържа до 50 милиона записа,  предлага лесна за използване система за управление на правата на различните потребители,  отлична скорост на обработка на заявките.
  • 5. MySQL (2)  MySQL е система за управление на релационна база данни (БД):  която използва Structured Query Language (SQL) - най- популярният език за добавяне, прочитане и обработка на информация в базите данни днес:  може да се използва с голяма група програмни езици - C, C+, Java, Perl, PHP, Python и др. и има версии за Linux, UNIX и Windows.  БД представляват съвкупности от информационни единици, организирани формално в таблици.  Достъпът и промяната на данните се извършва, без да е необходимо реорганизирането на таблиците или каквото и да било друго в БД.  Едно от най-важните предимства на релационните БД е лекотата, с която се създават, четат и изтриват записите, както и лесната разширяемост.
  • 6. Релационната БД  Релационната БД се състои от таблици, в които данните са подредени по колони (категории).  Всеки ред съдържа уникално смислено съчетание от данни (стойности на колоните).  Така таблицата всъщност свързва категориите, тя е "релация" между тях.  Данните от различни таблици също могат да са свързани - така имаме отново релация, но този път между таблиците.  По този начин таблиците и връзките между тях спояват данните в едно логическо цяло, и именно то е (релационна) базата данни.  Важно е да се запомни, че MySQL не е база данни, а система за управление на база данни и то на релационна база данни.
  • 7. Съдаване на таблица CREATE TABLE people ( id int(20) NOT NULL auto_increment, LastName varchar(50) NOT NULL, LastName varchar(50) NOT NULL, Address varchar(100) NOT NULL, City varchar(20), PRIMARY KEY (id), UNIQUE unq_name (LastName) ); ->next
  • 8. Таблица - Пример id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Петър Петров Незабравка 5 София
  • 9. MySQL - типове данни  Ето описанията на основните:  CHAR (х) - низове с точно определена дължина. Възможната стойност за х е от 1 до 255. Пример :user_id CHAR(10) - очаква се името на модела да е точно 10 символа.  VARCHAR (х) - низове с максимална дължина х. Възможните стойности са между 1 и 65,535 след версия - MySQL 5.0.3. Пример : user_id VARCHAR(10).  INT (х) [Unsigned] - използва се за указване на цели числа между -2147483648 и 2147483647. Ако се използва Unsigned, тогава валидните числа са между 0 и 4294967295. Пример : user_phone INT.  FLOAT [(M,D)] - указва малко дробно число, като М регулира общия брой цифри, от които може да се състои числото, а D ограничава колко от тях може да са зад десетичната запетая.  DATE - използва се за съхранение на дати, както говори и името. Форматът по подразбиране е "ГГГГ-ММ-ДД", като можете да поставяте стойности от '0000- 00-00' до '9999-12-31'. MySQL поддържа множество команди за работа с дати, които няма да обсъждаме тук. Пример : born DATE.
  • 10. MySQL - типове данни (2)  TEXT - служи за съхраняване на по-големи низове - от 255 до 65535 символа. Не прави разлика между малки големи букви.  BLOB - също като TEXT, с разликата, че търсенето тук взима предвид малките и големи букви.  SET - по-сложна дефиниция, която може би никога няма да използвате, но е добре да знаете. Може да съдържа до 64 предварително дефинирани стойности, от които могат да се избират една или повече. Например : transport SET ("vlak", "avtobus") NOT NULL - от тук имам четири възможности за избор - нито едно от двете, само едното от тях (влак ИЛИ автобус) или и двете (влак И автобус). Както забелязвате, възможните стойности се задават в момента на създаването на таблицата.  ENUM - също като SET, но е позволено избирането само на една стойност. Ако се върнем на горния пример, тук не можем да изберем варианта влак И автобус.
  • 11. Полетата в таблицата  NOT NULL означава, че полето не може да остане празно в нито един от записите в таблицата. Попълването му е задължително, в противен случай ще се появи информация за грешка.  AUTO_INCREMENT означава, че стойността на това поле автоматично ще бъде добавена като към стойността на полето от предходния запис се добави 1. Обикновено при този тип полета посочвате NULL като стойност при добавянето на записа. Използва се често за създаване на уникален идентификатор за отделните записи и може да ви свърши много полезна работа.  PRIMARY KEY (първичен ключ на таблицата) е онова поле, което системата използва, за да разграничава различните записи. Не може да има два различни реда с една и съща стойност на полето, определено за първичен ключ. Всяка таблица има свой PRIMARY KEY.  UNIQUE също ще ви гарантира уникалността на информацията.
  • 12. 2. Създаване на връзка (Connection) с базата данни  Преди достъп до базата данни, трябва да създадете връзка с нея.  В PHP това се извършва с функцията mysql_connect().  Синтаксис:  mysql_connect (servername,username,password);  servername - Определя сървърът, с който се свързваме. По подразбиране е „localhost:3306“  username - Определя името, с което искаме да се логнем. По подрзабиране е името на потребителя имащ право на контрол върху процесите на сървъра  password - Определя паролата за логване. По подразбиране е "“;
  • 13. Пример ../uroci/t9/ ex91.php <?php $con = mysql_connect('localhost', 'root', ''); if (!$con) { die('Could not connect: <br/> ' . mysql_error()); } echo 'Connected successfully <br/>'; mysql_close($con); ?>  декларираме връзката в променлива ($con).  частта, която е определена като "die" ще бъде изпълнена, в случай че връзката не се осъществи;  Затварянето на връзката ще стане автоматично със завършването на скрипта.  За предварително прекратяване на връзката се използва функцията mysql_close().
  • 14. 3. Създаване на база данни  Знае се, че базата данни съдържа една или множество свързани таблици.  За да се създаде база данни се използва командата  CREATE DATABASE.  Синтаксисът й е следният:  CREATE DATABASE database_name  За да накараме PHP да изпълни скрипта показан по- горе, трябва да използваме функцията  mysql_query().  Тази функция се използва за изпращане на заявки или за управление на връзката с базата данни.
  • 15. Създаване на:  Създаване на база данни "my_db":  Виж. ->../uroci/t9/ ex92.php;  Създаване на таблица в базата данни:  Командата CREATE TABLE се използва за създаване на таблица.  За да се постигне това е необходимо да се добави командата към функцията  mysql_query ().  Виж.-> ../uroci/t9/ ex93.php
  • 16. По уникален скрипт на таблица $sql = "CREATE TABLE Persons ( personID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID), FirstName varchar(15), LastName varchar(15), Age int )"; mysql_query($sql,$con);
  • 17. 4. Въвеждане на данни в таблицата - Insert Into  Командата INSERT INTO се използва за добавяе на данни (записи) втаблиците на базата данни.  Има два начина да се изписва и ползва командата.  Първият синтаксис не използва имената на колоните от таблицата в които ще се записват данните, а само техните стойности: INSERT INTO table_name VALUES (value1, value2, ..)  Вторият синтаксис определя както имената на колоните така и стойностите, които ще се запишат в таблицата INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)  Виж. ->../uroci/t9/ ex94.php
  • 18. Въвеждане на данни с използване на HTML формите (forms).  Създаваме два файла:  ../uroci/t9/ form.html  ../uroci/t9/insert.php  Когато потребителят кликне с мишката върху бутона "submit" от HTML формата, то данните от формата ще се изпратят на файла "insert.php".  Той от своя страна се свързва с базата данни и намира (получава) стойностите от формата с променливата $_POST.  След това функцията mysql_query() изпълнява командата INSERT INTO като добавя нов запис в таблицата "Persons" .
  • 19. 5. Селектиране (извеждане) на данни  Командата SELECT се използва за извеждане на данни от базата данни.  Синатаксисът на командата има следния вид: SELECT column_name(s) FROM table_name  За да накараме PHP да изпълни командата ние трябва да използваме функцията mysql_query().  Тази функция се използва, за да изпрати заявка или команда на връзката с базата данни.  Следния пример извежда данни от таблицата "Persons" (* - означава да изведе всички данни от таблицата) ->next
  • 20. Пример <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM Persons"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } mysql_close($con); ?>  Изведените данни се запазват от функцията mysql_query () в променливата $result.  След това използваме функцията mysql_fetch_array (), за да върнем поредният запис във вид на масив - всяко извикване на mysql_fetch_array () връща един ред.  Цикълът while обхожда всички записиси в таблицата.  За да принтираме стойностите, използваме променливата $row - ($row['FirstName'] and $row['LastName']).  Виж. ../uroci/t9/ex95.php
  • 21. 6. Други команди на PHP използвани с база данни  Командата UPDATE се използва за да се променят съществуващи записи в таблица.  !!!Условието WHERE определя кой или кои записи да се променят. Ако се изпусне, то всички записи ще бъдат променени.  Синтаксис:  UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
  • 22. Пример <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); mysql_query("UPDATE Persons SET Age = '36' WHERE FirstName = 'Peter' AND LastName = 'Griffin'"); mysql_close($con); ?>
  • 23. DELETE  Командата DELETE се използува за премахване на данни от таблицата.  Условието WHERE определя кой или кои записи да се изтрият.  Ако се изпусне, то всички записи ще бъдат изтрити.  Синтаксисът е следният: DELETE FROM table_name WHERE some_column = some_value
  • 24. Пример <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); ?>