![ხუთი ალტერნატიული ფაილის მენეჯერი ნაუტილუსში](/f/ac974cccf028ed471548140acfda9f9b.png?width=100&height=100)
Მონაცემთა ბაზა არის მონაცემთა სტრუქტურირებული ნაკრები, რომელიც ინახება ელექტრონულად. მონაცემთა ბაზის კონცეფცია ჩვენი წინაპრებისთვის ცნობილი იყო მაშინაც კი, როდესაც არ არსებობდა კომპიუტერი, თუმცა ასეთი მონაცემთა ბაზის შექმნა და შენარჩუნება ძალიან დამღლელი სამუშაო იყო. სახელმძღვანელო მონაცემთა ბაზაში ვთქვათ 100 გვერდები, თუ თქვენ უნდა მოძებნოთ ყველა თანამშრომელი, რომელთა ხელფასი ნაკლები იყო 10 ათასი, უბრალოდ დაფიქრდი, რა რთული იქნებოდა, მაშინ.
დღევანდელ სამყაროში თქვენ უბრალოდ ვერ გაექცევით Მონაცემთა ბაზა. ამჟამად მილიონობით მონაცემთა ბაზა მუშაობს მთელს მსოფლიოში, რომ შეინახოს და მოიტანოს ნებისმიერი სახის მონაცემები, იქნება ეს სტრატეგიული მონაცემები, თანამშრომლების ჩანაწერი თუ ვებ ტექნოლოგიები.
მონაცემთა ბაზას ხშირად უწოდებენ უკანა პროცესს, რადგან ის არ ჩანს არც საბოლოო მომხმარებლისთვის და არც საბოლოო მომხმარებელი ურთიერთქმედებს უშუალოდ მონაცემთა ბაზასთან. ისინი მუშაობენ წინა პროცესზე, ანუ, PHP, VB, ASP.NETდა ა.შ. და სთხოვეთ წინა ბოლოში გაუმკლავდეს მონაცემთა ბაზას უკანა ნაწილში.
არსებობს რამდენიმე მონაცემთა ბაზის სერვერი და კლიენტი, როგორიცაა Oracle, MySQL, MySQLi, მარია დბ, მონგოდო და ა.შ. ამ ყველაფრის სინტაქსი მეტ -ნაკლებად ერთნაირია. ერთის დაუფლება ნიშნავს მათი უმრავლესობის კონტროლის მოპოვებას და მონაცემთა ბაზის მოთხოვნების სწავლა ძალიან ადვილი და სახალისოა.
დავიწყოთ მონაცემთა ბაზაში არსებული მარტივი შეკითხვებით. ჩვენ ვიყენებთ MySQL რომელიც მოყვება უმეტესობას Linux ნაგულისხმევი განაწილება, თქვენ შეგიძლიათ დააინსტალიროთ იგი ხელით საცავიდან, თუ ის თქვენს შემთხვევაში ნაგულისხმევად არ არის დაინსტალირებული.
ისე მონაცემთა ბაზის მოთხოვნა არის კოდის მარტივი ნაწილი, რომელიც იგზავნება მონაცემთა ბაზაში, საჭიროებისამებრ, მორგებული და დახვეწილი შედეგის მისაღებად.
გამოიყენეთ "იუმ"ან"apt”პაკეტის მენეჯერი ინსტალაციისთვის MySQL Მონაცემთა ბაზა.
# yum დააინსტალირეთ mysql mysql-client mysql-server (ჩართულია იუმ დაფუძნებული სისტემები) # apt-get install mysql mysql-client mysql-server (on ბინა დაფუძნებული სისტემები)
დაწყება MySQL მონაცემთა ბაზის სერვისი, როგორც:
# სერვისის mysqld დაწყება. ან # სერვისის mysql დაწყება
კარგად დაყენება ა MySQL მონაცემთა ბაზა მიგიყვანთ კონფიგურაციაზე, სადაც მოგეთხოვებათ დაყენება ადმინი პაროლი და ა.შ. სერვერის ინსტალაციის და დაწყებისთანავე გადადით თქვენს გვერდზე MySQL სწრაფი.
# mysql -u root -p
შეცვალეთ ფესვი თქვენი კონფიგურაციით მომხმარებლის სახელი და შედი პაროლი როდესაც მოთხოვნილია, თუ შესვლის ავტორიზაცია სწორია, თქვენ იქნებით თქვენს გვერდით MySQL სწრაფი თვალის დახამხამებისას.
კეთილი იყოს თქვენი მობრძანება MySQL მონიტორზე. ბრძანებები მთავრდება იმით; ან \ g თქვენი MySQL კავშირის ID არის 195 სერვერის ვერსია: 5.5.31-0+wheezy1 (Debian) საავტორო უფლება (გ) 2000, 2013, Oracle და/ან მისი პარტნიორები. Ყველა უფლება დაცულია. Oracle არის რეგისტრირებული სასაქონლო ნიშანი Oracle Corporation და/ან მისი შვილობილი პირები. სხვა სახელები შეიძლება იყოს მათი შესაბამისი მფლობელების სავაჭრო ნიშნები. ტიპი "დახმარება;" ან '\ h' დახმარებისთვის. აკრიფეთ '\ c' მიმდინარე შეყვანის განცხადების გასასუფთავებლად. mysql>
ამ კითხვებზე პასუხის გაცემა ახლა ძალიან საგანმანათლებლო და სახალისოა.
mysql> მონაცემთა ბაზის შექმნა tecmint; მოთხოვნა OK, 1 სტრიქონი დაზარალებულია (0.02 წმ) mysql>
შენიშვნა: იგი იუწყება, რომ შეკითხვა სწორი იყო, ნიშნავს მონაცემთა ბაზის შექმნას. თქვენ შეგიძლიათ დაადასტუროთ თქვენი ახლად შექმნილი მონაცემთა ბაზა, როგორც.
mysql> მონაცემთა ბაზების ჩვენება; ++ | მონაცემთა ბაზა | ++ | ინფორმაციის_შექმა | | mysql | | შესრულების_ სქემა | |ექსპედიცია | | ტესტი | ++ 9 რიგები კომპლექტში (0.00 წმ) mysql>
შენიშვნა: შენიშნეთ თქვენი მონაცემთა ბაზა ზემოაღნიშნულ გამომავალში.
ახლა თქვენ უნდა აირჩიოთ მონაცემთა ბაზა მასზე მუშაობისთვის.
mysql> გამოიყენეთ tecmint; შეიცვალა მონაცემთა ბაზა. mysql>
აქ ჩვენ შევქმნით ცხრილს, რომელშიც ნათქვამია:მინტტეკი”სამი ველით, როგორიცაა:
mysql> CREATE TABLE minttec ( -> id Int (3), -> first_name Varchar (15), -> ელფოსტა Varchar (20) ->); მოთხოვნა კარგია, 0 სტრიქონი დაზარალებულია (0.08 წმ) mysql>
შენიშვნა: ზემოთ ნათქვამია კარგი რაც ნიშნავს რომ ცხრილი შეიქმნა ყოველგვარი შეცდომის გარეშე. ცხრილის დასადასტურებლად გაუშვით ქვემოთ მოყვანილი შეკითხვა.
mysql> ცხრილების ჩვენება; ++ | ცხრილები_მიწითში | ++ | მინტეკი | ++ 1 მწკრივი კომპლექტში (0.00 წმ) mysql>
საქმეები კარგად მიდის აქამდე. Კი! თქვენ შეგიძლიათ ნახოთ ცხრილში შექმნილი სვეტები "მინტტეკი”როგორც:
mysql> სვეტების ჩვენება minttec– დან; ++++++++ | ველი | ტიპი | ნულოვანი | გასაღები | ნაგულისხმევი | დამატებითი | ++++++++ | id | int (3) | დიახ | | NULL | | | first_name | ვარჩარი (15) | დიახ | | NULL | | | ელ.ფოსტა | ვარჩარი (20) | დიახ | | NULL | | +++++++ 3 სტრიქონი ნაკრებში (0.00 წმ) mysql>
ეს არაფერი იყო მაგაზე ნაკლები. ყოველ შემთხვევაში მე გეტყვით დეკლარაციის ტიპებზე და მათ მნიშვნელობაზე.
კარგი, ახლა ჩვენ უნდა დავამატოთ სვეტი, რომელიც ამბობს:გვარი"სვეტის შემდეგ"სახელი‘.
mysql> ALTER TABLE minttec ADD last_name varchar (20) first_name AFTER; მოთხოვნა OK, 0 სტრიქონი დაზარალებულია (0.16 წმ) ჩანაწერები: 0 დუბლიკატი: 0 გაფრთხილება: 0
ახლა გადაამოწმეთ იგი თქვენს ცხრილში.
mysql> სვეტების ჩვენება minttec– დან; ++++++++ | ველი | ტიპი | ნულოვანი | გასაღები | ნაგულისხმევი | დამატებითი | ++++++++ | id | int (3) | დიახ | | NULL | | | first_name | ვარჩარი (15) | დიახ | | NULL | | | ბოლო_სახელი | ვარჩარი (20) | დიახ | | NULL | | | ელ.ფოსტა | ვარჩარი (20) | დიახ | | NULL | | +++++++ 4 სტრიქონი ნაკრებში (0.00 წმ) mysql>
ახლა ჩვენ დავამატებთ სვეტს მარჯვნივ ვთქვათ სვეტი 'ქვეყანა' მარჯვნივ ელექტრონული ფოსტა.
mysql> ALTER TABLE minttec ADD country varchar (15) ელ.ფოსტის შემდეგ; მოთხოვნა OK, 0 სტრიქონი დაზარალებულია (0.16 წმ) ჩანაწერები: 0 დუბლიკატი: 0 გაფრთხილება: 0 mysql>
გადაამოწმეთ ზემოთ სვეტის ჩასმის მოთხოვნა.
mysql> სვეტების ჩვენება minttec– დან; ++++++++ | ველი | ტიპი | ნულოვანი | გასაღები | ნაგულისხმევი | დამატებითი | ++++++++ | id | int (3) | დიახ | | NULL | | | first_name | ვარჩარი (15) | დიახ | | NULL | | | ბოლო_სახელი | ვარჩარი (20) | დიახ | | NULL | | | ელ.ფოსტა | ვარჩარი (20) | დიახ | | NULL | | | ქვეყანა | ვარჩარი (15) | დიახ | | NULL | | ++++++++ 5 რიგები კომპლექტში (0.00 წმ) mysql>
რაც შეეხება ველში მნიშვნელობების ჩასმას?
mysql> INSERT INTO minttec VALUES ('1', 'Ravi', 'Saive', '[ელფოსტა დაცულია]',' ინდოეთი '); მოთხოვნა OK, 1 სტრიქონი დაზარალებულია (0.02 წმ) mysql>
იმაზე მეტის ჩასმის შესახებ 1 მნიშვნელობა ერთდროულად ზემოთ ცხრილში.
mysql> INSERT INTO minttec VALUES ('2', 'Narad', 'Shrestha', '[ელფოსტა დაცულია]',' ინდოეთი '), (' 3 ',' მომხმარებელი ',' სინგჰ ','[ელფოსტა დაცულია]',' Aus '), (' 4 ',' tecmint ',' [dot] com ','[ელფოსტა დაცულია]',' ინდოეთი '); მოთხოვნა OK, 3 სტრიქონი დაზარალებულია (0.05 წმ) ჩანაწერები: 3 დუბლიკატი: 0 გაფრთხილება: 0
გადაამოწმეთ ზემოთ ჩასმული.
mysql> აირჩიეთ * minttec– დან; ++++++ | id | first_name | ბოლო_სახელი | ელ.ფოსტა | ქვეყანა | ++++++ | 1 | რავი | Saive | [ელფოსტა დაცულია] | ინდოეთი | | 2 | ნარად | შრესტა | [ელფოსტა დაცულია] | ინდოეთი | | 3 | მომხმარებელი | სინგი | [ელფოსტა დაცულია] | აუსი | | 4 | ტექნიკა | [წერტილი] com | [ელფოსტა დაცულია] | ინდოეთი | ++++++ 4 მწკრივი კომპლექტში (0.00 წმ) mysql>
ვთქვათ, ზემოაღნიშნულ გამომავალში მესამე ჩანაწერი არასწორია და ჩვენ გვჭირდება მესამე ჩანაწერის წაშლა.
mysql> წაშლა minttec WHERE id = 3; მოთხოვნა OK, 1 სტრიქონი დაზარალებულია (0.02 წმ)
გადაამოწმეთ ზემოაღნიშნული ოპერაცია.
mysql> აირჩიეთ * minttec– დან; ++++++ | id | first_name | ბოლო_სახელი | ელ.ფოსტა | ქვეყანა | +++++++ | 1 | რავი | Saive |[ელფოსტა დაცულია] | ინდოეთი | | 2 | ნარად | შრესტა | [ელფოსტა დაცულია] | ინდოეთი | | 4 | ტექნიკა | [წერტილი] com | [ელფოსტა დაცულია]| ინდოეთი | +++++++ 3 რიგები ნაკრებში (0.00 წმ)
Id (= 4) საჭიროებს რედაქტირებას.
mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; მოთხოვნა OK, 1 სტრიქონი დაზარალებულია (0.02 წმ) რიგები ემთხვევა: 1 შეიცვალა: 1 გაფრთხილება: 0 mysql>
დაადასტურეთ ზემოთ მოყვანილი მოთხოვნა.
mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; მოთხოვნა კარგია, 1 სტრიქონი დაზარალებულია (0.02 წმ) რიგები ემთხვევა: 1 შეიცვალა: 1 გაფრთხილება: 0 mysql>
შენიშვნა: ზემოაღნიშნული შეკითხვა, როგორც შესრულებულია, არ არის კარგი იდეა. ის შეცვლის პირადობის მოწმობას "4"სადაც არის პირველი სახელი"ექსპერიმენტი '. ყოველთვის კარგი იდეაა გამოიყენოს ერთზე მეტი სვეტი სადაც პუნქტი მინიმალური შეცდომის მისაღებად, როგორც:
mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name =' [dot] com '; მოთხოვნა OK, 1 სტრიქონი დაზარალებულია (0.03 წმ) რიგები ემთხვევა: 1 შეიცვალა: 1 გაფრთხილება: 0 mysql>
მოდით დაგვტოვოს (წაშალოს) სვეტი, რომელსაც ჩვენ ვფიქრობთ, არ აქვს მნიშვნელობა ვთქვათ 'ქვეყანა' აქ.
mysql> ALTER TABLE minttec drop country; მოთხოვნა OK, 3 სტრიქონი დაზარალებულია (0.15 წმ) ჩანაწერები: 3 დუბლიკატი: 0 გაფრთხილება: 0 mysql>
გადაამოწმეთ ცხრილი.
mysql> აირჩიეთ * minttec– დან; +++++ | id | first_name | ბოლო_სახელი | ელ.ფოსტა | +++++ | 1 | რავი | Saive | [ელფოსტა დაცულია] | | 2 | ნარად | შრესტა | [ელფოსტა დაცულია] | | 6 | ტექნიკა | [წერტილი] com | [ელფოსტა დაცულია]| +++++ 3 რიგები კომპლექტში (0.00 წმ) mysql>
არ გგონიათ ჩვენი მაგიდის სახელი "მინტტეკი”არ არის ძალიან აქტუალური. როგორ შეიცვალოს იგი tecmint_table.
mysql> გადარქმევა ცხრილი minttec TO tecmint_table; მოთხოვნა OK, 0 სტრიქონი დაზარალებულია (0.03 წმ) mysql>
იხილეთ ყველა ცხრილი მიმდინარე მონაცემთა ბაზაში.
mysql> ცხრილების ჩვენება; ++ | ცხრილები_მიწითში | ++ | tecmint_table | ++ 1 რიგი კომპლექტში (0.00 წმ) mysql>
მაგიდას გადაარქვეს სახელი. ახლა მიიღეთ ზემოაღნიშნულის სარეზერვო ასლი MySQL მონაცემთა ბაზა, ბრძანების ერთ სტრიქონში ყოველგვარი დახვეწილი ინსტრუმენტის გარეშე. გაუშვით ქვემოთ მოცემული კოდი თქვენს ტერმინალში და არა mysql მოთხოვნაზე.
# mysqldump -u root -p tecmint> tecmint.sql შეამოწმეთ გადმოწერილი ფაილი თქვენს სამუშაო მაგიდაზე, რომელსაც ექნება მსგავსი შინაარსი. -MySQL ნაგავსაყრელი 10.13 განაწილება 5.5.31, debian-linux-gnu (i686)- -სერვერის ვერსია 5.5.31-0+wheezy1-ნაგავსაყრელი დასრულდა 2013-09-02 12:55:37
მისი შენარჩუნება ყოველთვის კარგი იდეაა MySQL მონაცემთა ბაზების სარეზერვო ასლი. სარეზერვო ასლის აღდგენა MySQL მონაცემები კვლავ არის კოდის მარტივი ხაზი, რომელიც თქვენ უნდა გაუშვათ ტერმინალის მოთხოვნაზე და არა თქვენს mysql მოთხოვნაზე.
მაგრამ, დაველოდოთ ჯერ ჩვენ წავშლით მონაცემთა ბაზას, რომ გადაამოწმოთ არის თუ არა ჩვენი აღდგენა სრულყოფილი.
mysql> ჩამოაგდეს მონაცემთა ბაზის tecmint; მოთხოვნა OK, 1 სტრიქონი დაზარალებულია (0.02 წმ)
შეამოწმეთ მონაცემთა ბაზის "tecmint" თქვენს მონაცემთა ბაზის სერვერზე.
mysql> მონაცემთა ბაზების ჩვენება; ++ | მონაცემთა ბაზა | ++ | ინფორმაციის_შექმა | | my_database | | mysql | | შესრულების_ სქემა | | phpmyadmin | | სისო | | ტესტი | ++ 7 მწკრივი კომპლექტში (0.00 წმ) mysql>
დიდი! მონაცემთა ბაზა დაკარგულია, მაგრამ ჩვენ არ გვჭირდება ფიქრი, ჩვენ გვაქვს სარეზერვო საშუალება.
დაკარგული მონაცემთა ბაზის აღსადგენად, გაუშვით შემდეგი ბრძანება.
# mysql -u root -p tecmintOOPS! შეცდომა, ჩვენ არ შევქმენით მონაცემთა ბაზა ექსპედიცია. გადადით თქვენს mysql მოთხოვნაზე და შექმენით მონაცემთა ბაზა 'ექსპედიცია‘.
mysql> მონაცემთა ბაზის შექმნა tecmint; მოთხოვნა OK, 1 სტრიქონი დაზარალებულია (0.00 წმ) mysql>ახლა დროა გაუშვათ აღდგენის ბრძანება თქვენი ჭურვის მოთხოვნაზე (მკაცრად).
# mysql -u root -p tecmintგადაამოწმეთ თქვენი მონაცემთა ბაზა.
mysql> მონაცემთა ბაზების ჩვენება; ++ | მონაცემთა ბაზა | ++ | ინფორმაციის_შექმა | | mysql | | შესრულების_ სქემა | | ტექნიკა | | ტესტი | ++ 8 მწკრივი ნაკრებში (0.00 წმ)გადაამოწმეთ მონაცემთა ბაზის შინაარსი.
mysql> აჩვენეთ მაგიდები tecmint– დან; ++ | ცხრილები_მიწითში | ++ | tecmint_table | ++ 1 მწკრივი კომპლექტში (0.00 წმ) mysql>გადაამოწმეთ თქვენი აღდგენილი ცხრილის შინაარსი.
mysql> აირჩიეთ * tecmint_table– დან; +++++ | id | first_name | ბოლო_სახელი | ელ.ფოსტა | +++++ | 1 | რავი | Saive | [ელფოსტა დაცულია] | | 2 | ნარად | შრესტა | [ელფოსტა დაცულია] | | 6 | ტექნიკა | [წერტილი] com | [ელფოსტა დაცულია] | +++++ 3 მწკრივი ნაკრებში (0.00 წმ)ეს ნამდვილად არ არის დასასრული, ჩვენ განვიხილავთ კონცეფციას მთავარი გასაღები, უცხოური გასაღები, მრავალი მაგიდა და გაშვებული შეკითხვები მარტივი გამოყენებით PHP სკრიპტი სტატიის შემდეგ ნაწილში.
არ დაგავიწყდეთ გვითხარი, როგორ იგრძენით თავი სტატიის გავლისას. თქვენი კომენტარები ძალიან დასაფასებელია. დარჩი ჯანსაღი და მორგებული, დარჩეს დაკავშირებული ჩაის პიტნა.