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

Открытие Солнечной системы, Виталий Егоров
Открытие Солнечной системы, Виталий ЕгоровОткрытие Солнечной системы, Виталий Егоров
Открытие Солнечной системы, Виталий ЕгоровYandex
 
SRGM Analyzers Tool of SDLC for Software Improving Quality
SRGM Analyzers Tool of SDLC for Software Improving QualitySRGM Analyzers Tool of SDLC for Software Improving Quality
SRGM Analyzers Tool of SDLC for Software Improving QualityIJERA Editor
 
Source localization using compressively sampled vector sensor array
Source localization using compressively sampled vector sensor arraySource localization using compressively sampled vector sensor array
Source localization using compressively sampled vector sensor arrayIAEME Publication
 
Хроника событий. День 1.
Хроника событий. День 1.Хроника событий. День 1.
Хроника событий. День 1.Tagir Sagitov
 
E-Pawn Shop: The Untouched Territory in India
E-Pawn Shop: The Untouched Territory in IndiaE-Pawn Shop: The Untouched Territory in India
E-Pawn Shop: The Untouched Territory in IndiaIJERA Editor
 
Verbale conferenza dei servizi AUA a Granulati inerti srl Comune Vezzano Ligu...
Verbale conferenza dei servizi AUA a Granulati inerti srl Comune Vezzano Ligu...Verbale conferenza dei servizi AUA a Granulati inerti srl Comune Vezzano Ligu...
Verbale conferenza dei servizi AUA a Granulati inerti srl Comune Vezzano Ligu...Marco Grondacci
 
Jurnal Kajian Lingkungan
Jurnal Kajian LingkunganJurnal Kajian Lingkungan
Jurnal Kajian LingkunganAzmi14015
 
ידיעון כרמיה דצמבר 2014
ידיעון כרמיה דצמבר 2014ידיעון כרמיה דצמבר 2014
ידיעון כרמיה דצמבר 2014perachadi
 
互動裝置科技藝術
互動裝置科技藝術互動裝置科技藝術
互動裝置科技藝術Chenwei Chiang
 
українська література
українська літератураукраїнська література
українська літератураInnaPashchenko
 
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Yandex
 
de Online scorecard 3.0, hoofdstuk 5
de Online scorecard 3.0,  hoofdstuk 5de Online scorecard 3.0,  hoofdstuk 5
de Online scorecard 3.0, hoofdstuk 5MareRedactie.nl
 
Viettronic super dvd karaoke player
Viettronic super dvd karaoke playerViettronic super dvd karaoke player
Viettronic super dvd karaoke playerIncotec Jsc
 
Study Effective of Wind Load on Behavior of ShearWall in Frame Structure
Study Effective of Wind Load on Behavior of ShearWall in Frame StructureStudy Effective of Wind Load on Behavior of ShearWall in Frame Structure
Study Effective of Wind Load on Behavior of ShearWall in Frame StructureIJERA Editor
 
Li fi light fidelity illuminating civil placesfor communication
Li fi light fidelity illuminating civil placesfor communicationLi fi light fidelity illuminating civil placesfor communication
Li fi light fidelity illuminating civil placesfor communicationIAEME Publication
 
ИТОГИ. Общероссийский форум "Частные операторы коммунальной инфраструктуры" 2014
ИТОГИ. Общероссийский форум "Частные операторы коммунальной инфраструктуры" 2014ИТОГИ. Общероссийский форум "Частные операторы коммунальной инфраструктуры" 2014
ИТОГИ. Общероссийский форум "Частные операторы коммунальной инфраструктуры" 2014Valerie Ivanova
 
【防衛省・自衛隊御中】SEO提案
【防衛省・自衛隊御中】SEO提案【防衛省・自衛隊御中】SEO提案
【防衛省・自衛隊御中】SEO提案Ko Abe
 

Viewers also liked (20)

Открытие Солнечной системы, Виталий Егоров
Открытие Солнечной системы, Виталий ЕгоровОткрытие Солнечной системы, Виталий Егоров
Открытие Солнечной системы, Виталий Егоров
 
SRGM Analyzers Tool of SDLC for Software Improving Quality
SRGM Analyzers Tool of SDLC for Software Improving QualitySRGM Analyzers Tool of SDLC for Software Improving Quality
SRGM Analyzers Tool of SDLC for Software Improving Quality
 
Source localization using compressively sampled vector sensor array
Source localization using compressively sampled vector sensor arraySource localization using compressively sampled vector sensor array
Source localization using compressively sampled vector sensor array
 
Хроника событий. День 1.
Хроника событий. День 1.Хроника событий. День 1.
Хроника событий. День 1.
 
E-Pawn Shop: The Untouched Territory in India
E-Pawn Shop: The Untouched Territory in IndiaE-Pawn Shop: The Untouched Territory in India
E-Pawn Shop: The Untouched Territory in India
 
Verbale conferenza dei servizi AUA a Granulati inerti srl Comune Vezzano Ligu...
Verbale conferenza dei servizi AUA a Granulati inerti srl Comune Vezzano Ligu...Verbale conferenza dei servizi AUA a Granulati inerti srl Comune Vezzano Ligu...
Verbale conferenza dei servizi AUA a Granulati inerti srl Comune Vezzano Ligu...
 
Jurnal Kajian Lingkungan
Jurnal Kajian LingkunganJurnal Kajian Lingkungan
Jurnal Kajian Lingkungan
 
ידיעון כרמיה דצמבר 2014
ידיעון כרמיה דצמבר 2014ידיעון כרמיה דצמבר 2014
ידיעון כרמיה דצמבר 2014
 
互動裝置科技藝術
互動裝置科技藝術互動裝置科技藝術
互動裝置科技藝術
 
українська література
українська літератураукраїнська література
українська література
 
RECETTE
RECETTERECETTE
RECETTE
 
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
 
de Online scorecard 3.0, hoofdstuk 5
de Online scorecard 3.0,  hoofdstuk 5de Online scorecard 3.0,  hoofdstuk 5
de Online scorecard 3.0, hoofdstuk 5
 
Viettronic super dvd karaoke player
Viettronic super dvd karaoke playerViettronic super dvd karaoke player
Viettronic super dvd karaoke player
 
Study Effective of Wind Load on Behavior of ShearWall in Frame Structure
Study Effective of Wind Load on Behavior of ShearWall in Frame StructureStudy Effective of Wind Load on Behavior of ShearWall in Frame Structure
Study Effective of Wind Load on Behavior of ShearWall in Frame Structure
 
bio Janet Bickerton
bio Janet Bickertonbio Janet Bickerton
bio Janet Bickerton
 
Li fi light fidelity illuminating civil placesfor communication
Li fi light fidelity illuminating civil placesfor communicationLi fi light fidelity illuminating civil placesfor communication
Li fi light fidelity illuminating civil placesfor communication
 
ИТОГИ. Общероссийский форум "Частные операторы коммунальной инфраструктуры" 2014
ИТОГИ. Общероссийский форум "Частные операторы коммунальной инфраструктуры" 2014ИТОГИ. Общероссийский форум "Частные операторы коммунальной инфраструктуры" 2014
ИТОГИ. Общероссийский форум "Частные операторы коммунальной инфраструктуры" 2014
 
【防衛省・自衛隊御中】SEO提案
【防衛省・自衛隊御中】SEO提案【防衛省・自衛隊御中】SEO提案
【防衛省・自衛隊御中】SEO提案
 
Pendidikan sejarah
Pendidikan sejarahPendidikan sejarah
Pendidikan sejarah
 

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
 
B9 t9 db_my_sql
B9 t9 db_my_sqlB9 t9 db_my_sql
B9 t9 db_my_sql
 
A1 install xampp
A1 install xamppA1 install xampp
A1 install xampp
 
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); ?>