ძირითადი მასალა
კომპიუტერული პროგრამირება
კურსი: კომპიუტერული პროგრამირება > თემა 3
გაკვეთილი 4: მონაცემთა ბაზის მოდიფიცირება SQL-ის საშუალებით- SQL-ის გამოყენება მონაცემთა ბაზის გასაახლებლად
- UPDATE და DELETE რიგების შეცვლა
- გამოწვევა: დინამიური დოკუმენტები
- ცხრილების შეცვლა შექმნის შემდეგ
- გამოწვევა: ტანსაცმლის შეცვლა
- გახადეთ თქვენი SQL უფრო უსაფრთხო
- პროექტი: პაროდისტი აპლიკაცია
© 2023 Khan Academyგამოყენების პირობებიკონფიდენციალურობის პოლიტიკაშენიშვნა ქუქი-ჩანაწერებზე
SQL-ის გამოყენება მონაცემთა ბაზის გასაახლებლად
როგორც უკვე აღვნიშნეთ ამ კურსის განმავლობაში, ხშირად ვიყენებთ SQL-ს ან SQL-ის მსგავს მოთხოვნათა ენას მონაცემთა ბაზაზე. შეგვიძლია, ის გამოვიყენოთ „მხოლოდ კითხვადი ოპერაციებით", აგრეთვე „წაკიხვა/ჩაწერის ოპერაციებით".
„მხოლოდ კითხვადი ოპერაციის“ მაგალითია მონაცემთა ანალიზი რაიმე აპლიკაციით ან სამეცნიერო შესწავლით. მაგალითად, მე რომ მონაცემთა მეცნიერი ვიყო, რომელიც დღიურ კვებას შეისწავლის, შეიძლება, მოვითხოვო მონაცემები იმის შესახებ, თუ მომხმარებელთა რამდენი პროცენტი მიირთმევს ნაყინს იმ დღეს, როდესაც ისინი დარბიან, რათა გავიგო, ვარჯიში ანდომებს თუ არა ადამიანს საკუთარი თავის „დაჯილდოებას“:
SELECT * FROM diary_logs WHERE
food LIKE "%ice cream%" AND activity LIKE "%running%";
თუ მონაცემთა ამგვარ ანალიზს ვახორციელებ, დიდწილად მხოლოდ
SELECT
-ების კეთება მიწევს — მხოლოდ წაკითხვა მჭირდება. ჩვენ არ ვქმნით ახალ მონაცემებს, მხოლოდ არსებულებს ვეძებთ. ჩვენ ძალიან ძლიერები უნდა ვიყოთ მოთხოვნებზე SELECT
-ის გაკეთებაში, მაგრამ არ გვჭირდება, ვიცოდეთ ცხრილების შექმნა, მწკრივთა განახლება და სხვა."წაკითხვა/ჩაწერის ოპერაციების" მაგალითია პროგრამული უზრუნველყოფის ინჟინერი, რომელიც ვებ აპლიკაციისთვის ქმნის ბექენდს (სერვერის მხარის ლოგიკას). მაგალითად, თუ მე ვარ პროგრამული უზრუნველყოფის ინჟინერი და ვმუშაობ ჯანმრთელობისათვის თვალყურის დევნის აპლიკაციაზე, შეიძლება, დავწერო კოდი, რომელმაც იცის, როგორ ჩასვას ახალი დღიური მონაცემი მონაცემთა ბაზაში მომხმარებლის მიერ ფორმის ყოველი გადმოგზავნის შემდეგ:
INSERT INTO diary_logs (id, food, activity)
VALUES (123, "ice cream", "running");
ამ SQL ბრძანებას, ალბათ, გავცემდი სერვერის მხარის ენიდან. სავარაუდოდ, გამოვიყენებდი ბიბლიოთეკას, რათა ბრძანებების შექმნა გამეადვილებინა. აი, ასეთი იქნებოდა ჩასმა, თუ გამოვიყენებდი პითონს (Python) SQLAlchemy ბიბლიოთეკით:
diary_logs.insert().values(id=123, food="ice cream", activity='running')
აგრეთვე დამჭირდებოდა SQL-ის დაწერა მონაცემთა ბაზის შესაცვლელად, თუკი მომხმარებელმა ჩაასწორა თავისი დღიური მონაცემი, წაშალა ისინი ან, სულაც, წაშალა ანგარიში. თუ გუნდმა გადაწყვიტა, რომ დაამატოს ფუნქციები მომხმარებლის დღიური აღრიცხვის შესაყვან ველს, მაგალითად, ემოციის სვეტი, რათა მომხმარებელმა იცოდეს, როგორ ხასიათზე იყო მაშინ, როცა ჭამდა ნაყინს და დარბოდა (ჩემი ვარაუდი: ძალიან ბედნიერი), დამჭირდებოდა SQL-ის დაწერა ცხრილის სქემის შესაცვლელად.
ეს ყოველივე არის „ჩაწერის ოპერაციები" და ისინი საჭიროა, თუ მონაცემთა ბაზის გამოყენებას ვაპირებთ აპლიკაციაში მონაცემთა შესანახად და გასაახლებლად.
INSERT
შედარებით უსაფრთხოა, რადგან ის მხოლოდ ამატებს მონაცემებს, მაგრამ ისეთი ოპერაციები, როგორიცაა UPDATE
, DELETE
, DROP
ან ALTER
, შეიძლება, უფრო სახიფათო იყოს, რადგან ისინი განაახლებენ უკვე არსებულ მონაცემებს. ამიტომ არის მნიშვნელოვანი მათი კარგად გაგება და ფრთხილად გამოყენება. გააგრძელეთ მათი გამოყენების სწავლა!გსურთ, შეუერთდეთ დისკუსიას?
პოსტები ჯერ არ არის.