MySQL операторлары және phpMyAdmin

12 Желтоқсан 2014

MySQL дегі операторлармен таныспас бұрын естеріңізге сала кететін өткен тақырыптардың бірі Денвер пакетін орнату барысында  баяндалған phpMyAdmin.Соған қосымша тоқталып өтпекпін, себебі ол сайт жасауда қолданылатын ең керекті құрал.

phpMyAdmin -  PHP тілінде жазылған web-программа және MySQL жүйесін басқаруға арналған web-интерфейс.Ол арқылы  браузерді пайдаланып MySQL серверін басқаруға, SQL командаларын орындауға, деректер қорындағы кестелердегі жазбаларды өңдеуге болады.

phpMyAdmin нің кең қолданылатын себебі - осы интерфейс арқылы SQL операторларын қолмен жазып отырмай-ақ MySQL жүйесін оңай басқаруға болады.

Яғни phpMyAdmin арқылы дереқорды,оның кестелерін,жазбаларды жасауға, оларды өңдеуге,жойып жіберуге, дерекқорды бір орыннан келесі орынға көшіруге,кез келген операциялар кезінде кеңесін пайдалануға болады.

Бір сөзбен айтқанда, phpMyAdmin сайт жасаушылардың ең негізгі сайманы.Сондықтан қасықты қалай пайдалансаңыз, бұл құралды да солай жақсы меңгеру керек.Және оны үйрену он-оңай!|

 SQL операторлары.

SQL (Structured Query Language - Құрылымдалған Сұраныстар Тілі)  ОПЕРАТОРЛАРДАН - НҰСҚАУЛАРДАН - ЕСЕПТЕЛІНЕТІН ФУНКЦИЯЛАРДАН құралған жиынтық.

SQL операторлары ортақ келісілген программа жазу стилі бойынша бас әріптермен жазылады.

Оларды мынадай топтарға бөлуге болады:
 - Деректерді анықтайтын операторлар
   . CREATE объектіні жасайды
   . ALTER  объектіні өзгертеді
   . DROP  объектіні жояды
 - Деректермен әртүрлі әрекеттер жасайтын операторлар
   . SELECT  берілген шарт бойынша деректерді оқиды
   . INSERT   жаңа деректерді қорға қосады 
   . UPDATE  қордағы деректерді өзгертеді
   . DELETE  деректерді жояды
 - Деректерге рұқсат берумен айналысатын операторлар
   . GRANT  пайдаланушыларға объектімен белгілі бір операциялар төңірегінде рұқсатты айқындайды
   . REVOKE  бұрын берілген рұқсаттарды қайтарып алады
   . DENY  берілген рұқсаттың басымдылығын айқындап, оны жоққа шығарады 
 - Транзакцияларды басқаратын операторлар
   . COMMIT  транзакцияны қолданады
   . ROLLBACK   транзакцияға ұшыраған өзгерістерді бұрынғы қалпына келтіреді
   . SAVEPOINT  транзакцияны кішкене бөлшектерге бөледі

Құрметті оқырман, SQL операторларымен таныс болдыңыздар.Олай болса келесі қадамға көшейік, яғни енді осы операторларды қалай пайдалануды үйренейік.

Естеріңізде болса, сол Денвер пакетін жүктеу сабағымда мен жаңа деректер қорын жасаған болатынмын - оны "mylessons" деп атағанмын.Естеріңізде болмаса, сол сабақтың аяқ жағын тағы бір қайталап оқып шығыңыз.

Сонымен, StartDenwer ді түртіп жібердім,екі қара окно жүгіріп өтті.Сосын браузерді аштым да localhost/tools/phpmyadmin деп жазамын.Сосын ENTERді басамын.


Енді mylessons ды үстінен түртіп жіберіп, келесі окноға түсеміз.Бұл жерде дерек қорды құрайтын кестелерді жасауға көшеміз.

Мысалға 3 кесте - тауар сатып алушыларға арналған "buyers", тауарлар тізімі үшін "product", тапсырыстарға арнап "orders"  кестелерін жасайық.Алдымен,"buyers"- ол мысалға  әзірше 5 өрістен тұрады делік, керек кезде өрістерді кестелерге еш залалсыз көбейтіп не болмаса азайтып отыруға әбден болады.Сонымен "buyers" кестесін жасау үшін "Имя" жанындағы өріске "buyers" деп, ал "Количество столбцов" дегеннің жанындағы өріске "5" санын жазамыз.Сосын ОК ді басамыз:


OK ді түрткен соң бос өрістер көрсетілген жаңа бет пайда болады.Өрістерді толтыру үшін мына келесі кестедегі алдыңғы 4 бағандағы мәндерді пайдаланамыз.

Өріс_Аты Типі Ұзындығы/Мәні A_I Сипаттамасы
id INT 5 Қанат Белгі қою Автоматты түрде жүйе өзі белгілейтін рет саны,жазба қайталанбас үшін керек
name VARCHAR 20 Сатып алушының аты жазылатын өріс атауы
sity VARCHAR 25 Сатып алушының қаласының аты жазылатын өріс атауы
address VARCHAR 40 Сатып алушының тұрғылықты мекен-жайы жазылатын өріс атауы
phone VARCHAR 15 Сатып алушының телефон нөмірі жазылатын өріс атауы




Ол бетте тек сары түспен боялған өрістерді  толтырамыз, яғни өрістерді сипаттаймыз.Сосын СОХРАНИТЬ түймесін басамыз :


Енді жазбаларды жасауға кірісеміз- олай істеу үшін төмендегі суретте көрсетілген ВСТАВИТЬ түймесін басамыз.


Енді келесі суретті пайдаланып жазбаларды бірінен кейін бірін жаза бастаймыз.Мысалы, сатып алушының аты -  Айгерім болсын, қаласының аты - Алматы делік, тұрғылықты жері - Абай көшесі, 20-5 болсын, телефоны - 87777777 делік:



Әзірше екеуін жазып болдық,енді оларды төмендегі суретте көрсетілген ОБЗОР түймесін түртіп көруге болады.Ия болмаса, келесі жазбаларды жазу үшін көрсетілген ВСТАВИТЬ түймесін басып келесі жазбаларды жаза беруге болады.


Жазған жазбаларымызды көрейік,сосын жазбаларды сары түспен көрсеткен ВСТАВИТЬ жапсырмасы арқылы әрі қарай толтыра беруге болады:



Осылайша қалағанымызша жазбаларды жаза береміз.Ал егер олар ұнамай қалса, ол жазбаларды төменде көрсетілген сурет бойынша өзгертуге, жоюға не болмаса басқа бір жазбаға көшіруге болады.Тек өзгеріске ұшырайтын жазба алдына қанат белгісін салуды ұмытпаңыз!


  

Ал егер жазбаларға қосымша өрістер қосқыңыз келсе, не болмаса оларды өзгерту, ия болмаса жойғыларыңыз келсе келесі 2 суретте көрсетілгендей әрекет жасаңыз.Бірінші суретте СТРУКТУРА-яғни жазбаның құрылымы сипатталған бетке кіресіз, екінші суретте осы құрылым бетіндегі өрістің жанына қанат белгісін салып оны өзгерте, не болмаса жоя аласыз.



Ал тағы өрістер қосқыңыз келсе, сары жолақтағы көрсетілген әрекетерді жасасаңыз болғаны:


Осылайша қалаған мөлшерде "buyers" кестесінің жазбаларын толтырып болған соң, келесі "product" - тауарлар кестесін жасауға көшелік.

Ол үшін, алдымен СОЗДАТЬ ТАБЛИЦУ деген түймені басып, келесі бетке көшеміз:


Өріс_Аты Типі Ұзындығы/Мәні A_I Сипаттамасы
id INT 11 Қанат Белгі қою Автоматты түрде берілетін рет саны,жазба қайталанбас үшін керек
title VARCHAR 50 Тауардың аты жазылатын өріс атауы
description TEXT Тауардың сипаттамасы жазылатын өріс атауы
price FLOAT Тауардың бағасы жазылатын өріс атауы
quantity INT 11 Тауардың қоймадағы мөлшері жазылатын өріс атауы

Енді әр өрісті жоғарыда берілген мағлұматтарды пайдаланып,төменгі суретте көрсетілгендей қылып, алдыңғы "buyers" кестесінің жазбаларын жазғандай толтырасыздар.Сосын  СОХРАНИТЬ түймесін басу арқылы пайда болған жаңа "product" кестесінің құрылымын көруге болады.


Жоғарыдағы суретте көрсетілгендей, егер тағы өріс қосу қажет болса ДОБАВИТЬ поле ОК деп жіберуге болады.


Қалған әрекеттер алдыңғы "buyers" кестесінің жазбаларын жасағандай болады.




Жазбаларды керегімізше салып болған соң, кестемізді тамашалауымызға болады:




Енді келесі "orders" - тапсырыстар кестесін жасайық:

Өріс_Аты Типі Ұзындығы/Мәні A_I Сипаттамасы
id INT 15 Қанат Белгі қою Автоматты түрде берілетін рет саны,жазба қайталанбас үшін керек.Тапсырыстың нөмірі жазылатын өріс атауы
buyer_id INT 5 Тапсырыс берген сатып алушының id нөмірі жазылатын өріс атауы
product_id INT 11 Тапсырыстағы тауардың id нөмірі жазылатын өріс атауы
count FLOAT Тапсырыстағы тауардың мөлшері жазылатын өріс атауы
date DATE Тапсырыс берілген мезгіл жазылатын өріс атауы



Енді бұл кестені жазбалармен толтырарда, "buyer_id" өрісінің мәндерін "buyers" кестесіндегі  "id" өрісінен, ал "product_id" өрісінің мәндерін  "product" кестесіндегі  "id" өрісінен алатын боламыз.

Яғни, реляциондық (relation - қатынас) деректер қоры деген осылай сипатталады.

Енді жасылмен боялған ВСТАВИТЬ қосымша бетке өтіп, жазбаларды сала беруге болады.Мысалы, сатып алушы Айгерім (buyer_id = "1") тауарлар кестесінде көрсетілген Блузканың ("product_id = "5") және Сумканың ("product_id = "7") бір-бір данасына ("count" = "1") 10-декабрьде тапсырыс берді делік: 


ОК ді басқанда келесі мынадай бетке шығамыз:


Сарымен не үшін боялды деген сұрақ туындауы мүмкін.Онда естеріңізге сала кетейін, мақаламның бас жағында SQL операторлары туралы айтып өткенмін.Ол операторларды пайдалануды жақсы меңгеруіміз керек, себебі олар web-парақшаларын PHP да жазғанда деректер базасымен жұмыс жасау үшін қолданылады.Ол операторлардың ішінде әсіресе көп қолданылатындары - SELECT, INSERT, UPDATE, DELETE.

Яғни, сары бояумен көмкеріліп тұрған - солардың бірі INSERT.

PhpMyAdmin дегеніміз web-интерфейс - ол ВСТАВИТЬ апрқылы пайдаланушылардың жұмысын жеңілдетіп тұр.Ал ВСТАВИТЬ түймесі сілтеме арқылы INSERT операторын орындап және оны бізге жоғарыдағыдай көрсетіп тұр.

Енді жазбаны өзіміз SQL арқылы жазып көрейік.Ол қалай жазбаларды кестеге жаза алатынын түсіну үшін бір тәсілді пайдаланайық- жоғарыда көрсетілген мен сарымен бояған SQL (сұраныстар тілін) кодын  COPY арқылы көшіріп алайық. 

Сосын нұсқағыш арқылы көрсетілген SQL -қосымша бетті ашалық:


Cосын  ашылған бетті бұрынғы мәндерінен тазартып алып, алдыңғы көшірілген кодты, осы бетке көшіріп салайық.Сосын оның ішіндегі мәндерді өзгертейік- тек бір VALUES ді іштегі мәндерімен қалдырайық және "buyer_id" өрісіне "2" (сатып алушы - Досхан) мәнін, "product_id"ге  "6"- "куртка" мәнін берейік : 


ОК ді басқанда келесі "1 жазба қосылды" деген сервердің жауабы шығады:


Енді сол жақта орналасқан "orders" кестесін үстінен түртіп жіберсек, SQL арқылы жазған жазбамыздың кестеге қоылғанын көреміз:


Енді SQL операторлары - SELECT (жазбаларды сұрыптау, іріктеу), INSERT (жазбаларды қосу, кірістіру), UPDATE (жазбаларды өзгерту), DELETE (жазбаларды жою) операторларының жазылу тәртіптерін кестелерді пайдаланып кеңінен танысайық, себебі оларды біз сайт парақшаларын PHP да  жазғанда өте керек болады.

Сонымен SQL қосымша бетті ашқанда, төменгі жағында олардың тізбегін көруге болады.Енді солардың әрқайсысын үстінен түртіп жіберіп мұқият талдау жасаймыз және сурет арқылы оларды әрқасысы сипатталып отырады.


Ол суреттердің әрқайсысына бар зерделеріңізді салсаңыздар,  әр оператордың қалай жұмыс істейтінін оп-оңай ұғынып алуға болады.Алдымен SELECT*  операторын қарастырайық.WHERE 1 деген тіркесті алып тастап, OK ді бассаңыз "orders" кестесінің барлық жазбаларын көрсетеді:


Енді кестенің тек сатып алушы buyer_id = 1 ге тең жазбаларын шақырамыз.Ол үшін келесі тұрған SELECT операторының үстінен шертеміз, сосын WHERE ден кейінгі тұрған "1" санын жойып, орнына "buyer_id" = "1" деп жазамыз:


ОК ді басқанда тек сұрыпталған жазбалар шығады:

Енді INSERT операторы  жазбаларды кестеге қалай қосатынын көрейік:


Бұл операторды жазғанда өрістердің аттарын тізіп жазбай-ақ, олардың мәндерін олардың рет санына қарай жазып шықса болғаны.


Байқағаныңыздай DATE - мезгілді жазарда осындай функцияны қолдану керек.

ОК ді басқанда біз жасаған жаңа жазбаның кестеде пайда болғанын көреміз:

Енді UPDATE операторы қалай жазбаларды өзгертетінін көрейік:

Мысалы, "id"="10" жазбаның "count" өрісінің мәнін "6" дан "5" ке өзгертелік:

ОК ді басқаннан соң, кестедегі жазбаның өзгергенін көреміз:

Енді DELETE операторы қалай жазбаларды жоятынын көрейік.Мысал үшін кестедегі "id"="10" жазбаны жойғымыз келді делік, олай істеу үшін SQL парағының бетіне алдыңғы операторларды жазғанымыздай, келесі кодты жазамыз:

Шыққан диалогқа ИЯ(ОК) деп жауап береміз:

Келесі бет ашылғанда қалаған жазбамыздың жойылып кеткенін көреміз:

Енді жазбаларды қалай сорттайтынын қарастырайық.Ол үшін ORDER BY операторы қолданылады.

Мысалы жоғарыдағы көрсетілген жазбаларды "buyer_id" өрісі бойынша сорттап көрейік:


ОК ді басқан соң жазбалар аздан көпке қарай реттеліп сортталғанын байқаймыз:


PhpMyAdmin арқылы дерекқордың резервтік копияларын жасау.

Кез келген сайт бір кездерде жайсыз жағдайға ұшырап қалуы әбден мүмкін - мысалы,хакерлер шабуылынан кейін не болмаса хостинг жұмыс істемей қалуы мүмкін.

Құдай сақтансаң - сақтаймын депті дейді ғой, сондықтан әр кезде сайт жұмысын тоқтатпау үшін ол хостингтегі файлдарымыз бен дерекқорымыздан өз компьютерімізге резервтік копиялар жасап отыруымыз керек.

Хостингтер де резервтік копиялар жасап дайын отырады, бірақ сонда да өз резервтік копияларың болған артық етпейді.

Енді сол копияларды қалай жасайтынын көрсету үшін мысалға, осы жоғарыдағы "mylessons" дерекқорын хостингтегі дерекқор ретінде, ал  "mylessons1" дерекқорын өз компьютерімдегі, яғни localhost- тағы дерекқор деп қарастырайық.

Яғни, "mylessons"-дерекқорынан  "mylessons1" - дерекқорына резервтік копия жасаймыз.Басқа сөзбен айтқанда, дерекқорлар кестелерін бірінен екіншісіне көшіреміз.

Мысалға , хостингтегі басқарушы панель арқылы біз phpMyAdmin ді пайдаланып өз дерекқорымызға қосылдық делік.

Сонымен, "mylessons" дерекқорында ЭКСПОРТ қосымша бетті түртіп жібереміз:


Пайда болған бетте ОК ді басамыз.


Компьютеріміздегі бір папкаға sql расширениесі бар файлды "mylessons" атаумен орналастырамыз.

  

Сонымен, хостингтегі дерекқордың ролін ойнап оның баламасы сықылды болып тұрған "mylessons" дерекқордың қопиясын бір папкаға жайғастырдық.Енді өзімдегі  localhost - та жатқан дерекқордың баламасы сықылды болып тұрған "mylessons1" дерекқорын осы жаңа копиямен алмастыруымыз керек.

Ол үшін алдымен ол дерекқорды төменгі суретте көрсетілгендей қылып, барлық кестелерін жою керек:

 

Пайда болған беттегі ИМПОРТ қосымша бетін түртіп жіберу керек:


Алдында компьютеріміздегі папкаға салып қойған копиямыз "mylessons.sql" файлын жүктейміз.


Келесі шыққан бетте СТРУКТУРА ны түртіп жібереміз:


Міне, осылай резервтік копиямызды "mylessons1" дерекқорына сақтап қойдық:


Енді бізді ешқандай жау алмайды, ешқандай хакер сайтымызды жоя алмайды.Ал егер жойып жіберсе, осы әдіспен хостингтегі дерекқорымызды қайтадан қалпына оп-оңай келтіре аламыз.

Іске сәт!

Егер мақала көңіліңізден шықса, онда онымен төмендегі түйме арқылы достарыңызбен бөлісіңіз

Пікірлер