Sql აჩვენებს ყველა ცხრილს. როგორ ვიმუშაოთ მონაცემთა ბაზასთან. უმარტივესი SQL მოთხოვნები

სანამ შეძლებთ SQL ცხრილის შექმნას, თქვენ უნდა განსაზღვროთ მონაცემთა ბაზის მოდელი. შექმენით ER დიაგრამა, რომელშიც განისაზღვროს ერთეულები, ატრიბუტები და ურთიერთობები.

Ძირითადი ცნებები

ერთეულები არის ობიექტები ან ფაქტები, რომელთა შესახებ ინფორმაცია უნდა იყოს შენახული. მაგალითად, კომპანიის თანამშრომელი ან კომპანიის მიერ განხორციელებული პროექტები. ატრიბუტები არის კომპონენტები, რომლებიც აღწერს ან ახასიათებს ერთეულს. მაგალითად, "თანამშრომლის" ერთეულის ატრიბუტი არის ხელფასიდა „პროექტის“ სუბიექტის ატრიბუტი არის სავარაუდო ღირებულება. კავშირები არის ასოციაციები ორ ელემენტს შორის. ეს შეიძლება იყოს ორმხრივი. ასევე არსებობს რეკურსიული კავშირი, ანუ ერთეულის კავშირი საკუთარ თავთან.

ასევე აუცილებელია განისაზღვროს ის გასაღებები და პირობები, რომლებშიც შენარჩუნდება მონაცემთა ბაზის მთლიანობა. Რას ნიშნავს? სხვა სიტყვებით რომ ვთქვათ, შეზღუდვები, რომლებიც დაეხმარება მონაცემთა ბაზების სწორ და თანმიმდევრულ ფორმაში შენარჩუნებას.

ER დიაგრამიდან ტაბულურ მოდელზე გადასვლა

ცხრილის მოდელზე გადასვლის წესები:

  1. გადაიყვანეთ ყველა ერთეული ცხრილებად.
  2. გადაიყვანეთ ყველა ატრიბუტი სვეტებად, ანუ, თითოეული ერთეულის ატრიბუტი უნდა გამოჩნდეს ცხრილის სვეტის სახელში.
  3. გადაიყვანეთ უნიკალური იდენტიფიკატორები ძირითად გასაღებებად.
  4. გადაიყვანეთ ყველა ურთიერთობა უცხო გასაღებად.
  5. შექმენით SQL ცხრილი.

მონაცემთა ბაზის შექმნა

ჯერ სირბილი გჭირდებათ MySQL სერვერი. მის დასაწყებად გადადით მენიუში "Start", შემდეგ "Programs", შემდეგ MySQL და MySQL სერვერიაირჩიეთ MySQL-Command-Line-Client.

მონაცემთა ბაზის შესაქმნელად გამოიყენეთ ბრძანება Create Database. ეს ფუნქციააქვს შემდეგი ფორმატი:

მონაცემთა ბაზის შექმნა მონაცემთა ბაზის_სახელი.

მონაცემთა ბაზის სახელზე შეზღუდვები შემდეგია:

  • სიგრძე 64 სიმბოლომდეა და შეიძლება შეიცავდეს ასოებს, ციფრებს, "" და "" სიმბოლოებს;
  • სახელი შეიძლება დაიწყოს რიცხვით, მაგრამ ის უნდა შეიცავდეს ასოებს.

უნდა გვახსოვდეს და ზოგადი წესი: ნებისმიერი მოთხოვნა ან ბრძანება მთავრდება დელიმიტერით. SQL-ში გავრცელებულია მძიმით, როგორც დელიმიტერის გამოყენება.

სერვერმა უნდა მიუთითოს, რომელ მონაცემთა ბაზასთან დასჭირდება მუშაობა. ამისათვის არსებობს USE განცხადება. ამ ოპერატორს აქვს მარტივი სინტაქსი: USE n მონაცემთა ბაზის_სახელი.

SQL ცხრილის შექმნა

ასე რომ, მოდელი შექმნილია, იქმნება მონაცემთა ბაზა და სერვერს ეუბნება ზუსტად როგორ იმუშაოს მასთან. ახლა თქვენ შეგიძლიათ დაიწყოთ SQL ცხრილების შექმნა. არსებობს მონაცემთა განმარტების ენა (DDL). იგი გამოიყენება MS SQL ცხრილის შესაქმნელად, ასევე ობიექტების განსაზღვრასა და მათ სტრუქტურასთან მუშაობისთვის. DDL მოიცავს ბრძანებების კომპლექტს.

SQL Server ცხრილის შექმნა

მხოლოდ ერთი DDL ბრძანების გამოყენებით, შეგიძლიათ შექმნათ სხვადასხვა ობიექტებიბაზა, იცვლება მისი პარამეტრები. გამოიყენება ბრძანება Create Table. tt ფორმატი ასე გამოიყურება:

შექმენი ზღაპარი ცხრილის_სახელი,(სვეტის_სახელი1 სახელი _სვეტი2მონაცემთა ტიპი [სვეტის_შეზღუდვა], [ცხრილის_შეზღუდვები]).

ამ ბრძანების სინტაქსი უფრო დეტალურად უნდა იყოს აღწერილი:

  • ცხრილის სახელი უნდა იყოს 30 სიმბოლომდე და იწყება ასოთი. დასაშვებია მხოლოდ ანბანური სიმბოლოები, ასოები და სიმბოლოები "_", "$" და "#". ნებადართულია კირიული ანბანის გამოყენება. მნიშვნელოვანია აღინიშნოს, რომ ცხრილის სახელები არ უნდა იყოს იგივე, რაც სხვა ობიექტების სახელები ან მათთან დაცული სიტყვებიმონაცემთა ბაზის სერვერი, როგორიცაა სვეტი, ცხრილი, ინდექსი და ა.შ.
  • თქვენ უნდა მიუთითოთ მონაცემთა ტიპი თითოეული სვეტისთვის. არსებობს სტანდარტული ნაკრები, გამოიყენება უმრავლესობის მიერ. მაგალითად, ჩარი, ვარჩარი, ნომერი, თარიღი, აკრიფეთ Nullდა ა.შ.

  • ნაგულისხმევი პარამეტრი საშუალებას გაძლევთ დააყენოთ ნაგულისხმევი მნიშვნელობა. ეს უზრუნველყოფს, რომ ცხრილში ნულოვანი მნიშვნელობები არ არის. Რას ნიშნავს? ნაგულისხმევი მნიშვნელობა შეიძლება იყოს სიმბოლო, გამოხატულება, ფუნქცია. მნიშვნელოვანია გვახსოვდეს, რომ მონაცემთა ნაგულისხმევი ტიპი უნდა შეესაბამებოდეს სვეტის შეყვანის მონაცემთა ტიპს.
  • თითოეულ სვეტზე შეზღუდვები გამოიყენება მონაცემთა მთლიანობის პირობების შესასრულებლად ცხრილის დონეზე. არის სხვა ნიუანსებიც. აკრძალულია ცხრილის წაშლა, თუ არის მასზე დამოკიდებული სხვა ცხრილები.

როგორ ვიმუშაოთ მონაცემთა ბაზასთან

განსახორციელებლად მსხვილი პროექტებიყველაზე ხშირად, თქვენ უნდა შექმნათ მრავალი მონაცემთა ბაზა, თითოეული მოითხოვს ბევრ ცხრილს. რა თქმა უნდა, მომხმარებლებისთვის შეუძლებელია შეინახონ ყველა ინფორმაცია საკუთარ თავში. ამისათვის შესაძლებელია მათში მონაცემთა ბაზებისა და ცხრილების სტრუქტურის ნახვა. არსებობს რამდენიმე ბრძანება, კერძოდ:

  • SHOW DATBASES - აჩვენებს ყველა შექმნილ SQL მონაცემთა ბაზას ეკრანზე;
  • SHOW TABLES - აჩვენებს ყველა ცხრილის სიას მიმდინარე მონაცემთა ბაზისთვის, რომლებიც არჩეულია USE ბრძანებით;
  • აღწერე ცხრილის_სახელი- აჩვენებს ცხრილის ყველა სვეტის აღწერას.
  • ALTER TABLE - გაძლევთ საშუალებას შეცვალოთ ცხრილის სტრუქტურა.

ბოლო ბრძანება საშუალებას იძლევა:

  • დაამატეთ სვეტი ან შეზღუდვა ცხრილში;
  • არსებული სვეტის შეცვლა;
  • სვეტების ან სვეტების წაშლა;
  • მთლიანობის შეზღუდვების მოხსნა.

ამ ბრძანების სინტაქსია: ALTER TABLE ცხრილის_სახელი( | | | | [(ჩართვა | გამორთვა) მუდმივი შეზღუდვის_სახელი ] | }.

არის სხვა ბრძანებები:

  • გადარქმევა - ცხრილის სახელის შეცვლა.
  • TRUNCATE TABLE - ამოიღებს ცხრილიდან ყველა მწკრივს. ეს ფუნქცია შეიძლება საჭირო გახდეს ცხრილის ხელახლა შევსების აუცილებლობისას, მაგრამ არ არის საჭირო წინა მონაცემების შენახვა.

ასევე არის სიტუაციები, როდესაც მონაცემთა ბაზის სტრუქტურა შეიცვალა და ცხრილი უნდა წაიშალოს. ამისათვის არის DROP ბრძანება. რა თქმა უნდა, ჯერ უნდა აირჩიოთ მონაცემთა ბაზა, საიდანაც გსურთ ცხრილის წაშლა, თუ ის განსხვავდება მიმდინარე ცხრილისგან.

ბრძანების სინტაქსი საკმაოდ მარტივია: DROP TABLE სახელი_მაგიდები.

SQL-ში წვდომის შექმნაცხრილები და მათი მოდიფიკაცია ხორციელდება ზემოთ ჩამოთვლილი იგივე ბრძანებებით.

CREATE TABLE-ის გამოყენებით შეგიძლიათ შექმნათ ცარიელი ცხრილი და შემდეგ შეავსოთ იგი მონაცემებით. მაგრამ ეს ყველაფერი არ არის. თქვენ ასევე შეგიძლიათ პირდაპირ შექმნათ ცხრილი სხვა ცხრილიდან. Ამგვარად? ანუ შესაძლებელია ცხრილის განსაზღვრა და სხვა ცხრილის მონაცემებით შევსება. ამისთვის არის სპეციალური საკვანძო სიტყვაას.

სინტაქსი ძალიან მარტივია:

  • მაგიდის შექმნა სახელი_მაგიდები[(სვეტის_განმარტება)] AS subquery;
  • სვეტის_განმარტება -სვეტების სახელები, მთლიანობის წესები ახლად შექმნილი ცხრილის სვეტებისთვის და ნაგულისხმევი მნიშვნელობები;
  • subquery - აბრუნებს სტრიქონებს, რომლებიც უნდა დაემატოს ახალ ცხრილს.

ამრიგად, ასეთი ბრძანება ქმნის ცხრილს გარკვეული სვეტებით, მასში ჩასმული რიგები, რომლებიც ბრუნდება მოთხოვნაში.

დროებითი მაგიდები

დროებითი ცხრილები არის ცხრილები, რომელთა მონაცემები იშლება ყოველი სესიის ბოლოს ან უფრო ადრე. ისინი გამოიყენება ჩასაწერად შუალედური ღირებულებებიან შედეგები. ისინი შეიძლება გამოყენებულ იქნას როგორც სამუშაო ფურცლები. თქვენ შეგიძლიათ განსაზღვროთ დროებითები ნებისმიერ სესიაზე, მაგრამ მათი მონაცემების გამოყენება შეგიძლიათ მხოლოდ მიმდინარე სესიაზე. დროებითი შექმნა SQL ცხრილებიხდება ისევე, როგორც ჩვეულებრივ, CREATE TABLE ბრძანების გამოყენებით. იმისათვის, რომ აჩვენოთ სისტემას, რომ ცხრილი დროებითია, თქვენ უნდა გამოიყენოთ GLOBAL TEMPORARY პარამეტრი.

ON COMMIT პუნქტი ადგენს მონაცემთა სიცოცხლის ხანგრძლივობას ასეთ ცხრილში და შეუძლია გააკეთოს შემდეგი:

  • მწკრივების წაშლა - დროებითი ცხრილის წაშლა (წაშალეთ სესიის ყველა მონაცემი) ყოველი ტრანზაქციის დასრულების შემდეგ. ეს ჩვეულებრივ ნაგულისხმევი მნიშვნელობაა.
  • მწკრივების შენარჩუნება - დატოვეთ მონაცემები მომდევნო ტრანზაქციის გამოსაყენებლად. გარდა ამისა, ცხრილის გასუფთავება შეგიძლიათ მხოლოდ სესიის დასრულების შემდეგ. მაგრამ არის გარკვეული თავისებურებები. თუ ტრანზაქცია უკან დაბრუნდება (ROLLBACK), ცხრილი დაუბრუნდება თავის მდგომარეობას წინა ტრანზაქციის ბოლოს.

დროებითი ცხრილის შექმნის სინტაქსი შეიძლება წარმოდგენილი იყოს შემდეგნაირად: CREATE TABLE სახელი_ მაგიდები,(სახელისვეტი_1მონაცემთა ტიპი [სვეტის_შეზღუდვა], სახელი _სვეტი2მონაცემთა ტიპი [სვეტის_შეზღუდვა], [ცხრილის_შეზღუდვები]).

შეკითხვა: შეკითხვა - მიიღეთ ცხრილებისა და ინდექსების სია და მათი შეკუმშვის ტიპი


Სალამი ყველას!

დახმარება, გთხოვთ, მჭირდება სკრიპტი, რომელიც აჩვენებს მონაცემთა ბაზის ცხრილების სიას და მათ შეკუმშვის ტიპს - არცერთი, გვერდი, მწკრივი.
თუ შესაძლებელია, ასევე ინდექსებით.

პასუხი:Დიდად მადლობელი!

შეკითხვა: შექმენით SQL მოთხოვნა, რომელიც დაემატება ცხრილს ახალი ჩანაწერი


1. შექმენით SQL მოთხოვნა, რომელიც დაამატებს ცხრილში ახალ ჩანაწერს, რომელიც შეიცავს ინფორმაციას სამგზავრო ტრანსპორტის შესახებ: სახელმწიფო ნომერი – BB148B, მარკა – Volkswagen, მოცულობა – 20
მე დავწერე ეს:
INSERT INTO სამგზავრო ტრანსპორტში (სახელმწიფო ნომერი, მარკა, ტევადობა,) VALUES (ВВ148В, "Volkswagen", 20)
შეცდომა
არასწორი სინტაქსი "ტრანსპორტის" კონსტრუქციის გარშემო.

2. შექმენით SQL მოთხოვნა, რომელიც გაზრდის AI92 და AI95 ბენზინის ფასს 2%-ით

პასუხი:

შეტყობინება iap

ხაზგასმა საერთოდ აღარ არის სიმბოლო? სივრცის ტოლი თუ რა?

მე შევასწორე მისი ყველა შეცდომა მოთხოვნაში და ვგულისხმობდი, რომ სივრცე გამოიწვევდა შეცდომას გარემოს მიერ მოთხოვნის ანალიზში და შესაბამისად. მოთხოვნა ვერ მოხერხდებოდა. მე არ მითქვამს რომ შეიძლება შეიცვალოს ფართი ან რამე მსგავსი.

კითხვა: MS SQL 2014 რომ მიიღოთ ცხრილის ველების სია მათი აღწერილობით?


მითხარით, სად შემიძლია მივიღო ველების სია მათი აღწერილობით?
აღწერა დამატებულია შემდეგი სკრიპტით:
EXEC sys. sp_addextendedproperty @name =N"MS_Description" , @value=N „სამოქალაქო კოდექსის დოკუმენტების სახეობა“, @level0type=N"SCHEMA" , @level0name=N"dbo" , @level1type=N"TABLE" , @level1name=N"Fct_0008" , @level2type=N"COLUMN" , @level2name=N"IdNci_0063"
როგორ შეგიძლიათ მიიღოთ იგი შეკითხვაში ცხრილის ველის სახელის გვერდით?
ყველა ეს მოთხოვნა:
აირჩიეთ * INFORMATION_SCHEMA-დან. COLUMNS WHERE TABLE_NAME = "Fct_0008" SELECT * FROM [ sys].[ სვეტები ] WHERE OBJECT_ID = OBJECT_ID ("Fct_0008") SELECT * FROM [ sys].[ all_columns] WHERE OBJECT_ID ="0FJECT_0"
ისინი არ იძლევიან სასურველ შედეგს, არ აქვთ აღწერა. მითხარი როგორ მივიღო აღწერა?

პასუხი:

:P

შეკითხვა: მიიღეთ ცხრილების, ველების და მონაცემთა ბაზის ველების აღწერა


Საღამო მშვიდობისა

მითხარით, როგორ მივიღო ცხრილების, ველების და მონაცემთა ბაზის ველების აღწერა?

პასუხი:ასევე გავიარე თვითგამწერი არქივისტის რამდენიმე ვერსია
--97 ვერსიაში არქივისტი ნორმალური იყო, კარგად იყო ექსპორტირებული Word-შიც და Excel-შიც
--2000 წლიდან -- დაიწყო ხრიკები (მაგალითად, მოთხოვნის ტექსტები შემცირდა 254 სიმბოლომდე)
-- შეიქმნა ანგარიში ფორმის გამოყენებით -- ყველა თვისება... ძალიან გრძელი აღმოჩნდა
...შემდეგ კიდევ რამდენიმე ვარიანტი, რომელიც ოდნავ განსხვავდება

გადავწყვიტე ველების სია ყველა ობიექტზე კომპაქტური მითითებისთვის

სახელიტიპიზომააღწერაRowSource
კოდი4 4
დოკუმენტი4 4 დოკუმენტიSELECT .[Code], .[Document], .[Notes] FROM Docum ORDER BY [დოკუმენტით];
NumberDoc4 4
DateDoc8 8
დანიშნულების მდგომარეობა4 4 სამსახურის მიზანიSELECT .[code], .[View], .[Notes] FROM CelUsl ORDER BY [ნახვა];
განაცხადი4 4
ინვოისი4 4
სად4 4
სად4 4 SELECT .[Code], .[Name] FROM Bases;
თარიღიPR8 8 Ჩამოსვლის თარიღი
ხომალდი4 4 SELECT .[Code], .[NameNumber], .[Notes] FROM Ships ORDER BY [NameNumber];
AUTO4 4 SELECT .[Code], .[BrandNumber], .[Notes] FROM ATS;
Მისაბმელი1 1
თანამშრომელი10 243 აირჩიეთ [მძღოლი].[გვარი] დრაივერისგან;
მაღაზიის მეპატრონე10 243 SELECT [Storekeeper].[Family name] FROM Storekeeper;
დათანხმდა10 243 აირჩიეთ [შეთანხმებული].[გვარი] FROM Agreed;
თარიღის იმპორტი8 8
ოქროიმპორტი10 243
თარიღის აღება8 8
Oxr მოცილება10 243 აირჩიეთ [უსაფრთხოება]. [გვარი] FROM Security;
ინვენტარი10 255
ტარა4 4 SELECT .[Code], .[View], .[Notes] FROM Pack;
ნომერი4 4
მთლიანი6 4
შენიშვნები10 255
დაამატეთ TMC1 1
ფორმებისთვის/ანგარიშებისთვის -- კონტროლის ტიპი, ტექსტი ღილაკზე/ეტიკეტზე, მონაცემთა წყარო ველებისთვის
+ მოდულის ტექსტები

იქ გაჩერდა
სადღაც რეალურად არის ჩაშენებული მაკროების ტექსტის ჩვენების ვარიანტი (თუმცა მე ვაპირებ გამომავალის გასუფთავებას, ის ცოტა უხეშია)

კითხვა: SQL მოთხოვნა სამი ცხრილისთვის. დაარტყი სწორი მიმართულებით!


აუცილებელია დაწეროთ SQL მოთხოვნა მონაცემთა ბაზისთვის, რომელიც შედგება სამი ცხრილისგან. მონაცემთა ბაზის სტრუქტურა არის მიმაგრებულ ფაილში.
შეკითხვა: ყველაზე პოპულარული ცხოველი მამაკაცებსა და ქალებში
არც კი ვიცი რა კონსტრუქციებით და ოპერატორებით გავაკეთო ეს. გთხოვთ, მიმანიშნეთ სწორი მიმართულებით.

პასუხი:Ვაუ! მე ვგრძნობ თავს ნობი. ამას მივაღწიე. აჩვენებს შინაური ცხოველების გამეორებების რაოდენობას თითოეულ სქესში:

SQL კოდი
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 აირჩიეთ ss. NamePet, ss. სექსი, სს. koll FROM ( SELECT f. NamePet , t. Pet_ID , r. Sex , COUNT (* ) OVER (PARTITION BY t. pet_id, r. sex) AS koll FROM შესაბამისობის t , People r , Pets f WHERE t. People_ID = r. ID და ვ ID = t Pet_ID ) ss GROUP BY ss. NamePet, ss. სექსი, სს. კოლ

შეკითხვა: SQL მოთხოვნა ცხრილში შესანახად


Სალამი ყველას. საკითხავია, რა არის საუკეთესო გზა, რომ შეინახოს SQL შეკითხვის სტრიქონი თავად ცხრილში, აიღოთ იგი იქიდან და გააკეთოთ ახალი მოთხოვნები?

მე ვამზადებ შეკითხვის სტრიქონს ასე შესანახად
$query = mysql_real_escape_string($query);

ამოღების შემდეგ ასე

$schemequery = stripslashes ($data[ "schemequery" ]);

პასუხი:

კარგად არ მესმის. მე მაქვს რედაქტორი გარკვეული პირობებისა და მორგებული ველების შესაქმნელად, რომლებიც განსხვავდება SQL მოთხოვნისაგან. მოთხოვნა აგებულია ამ ველებისა და პირობების საფუძველზე. ეს ველები და პირობები ინახება იმავე ცხრილში და რადგან ეს პირობები ძალიან ხშირად უნდა შემოწმდეს, რათა თავიდან ავიცილოთ მოთხოვნის აგება ყოველ ჯერზე, მე ისინი შევინახე უკვე ჩამოყალიბებულ ცხრილში. და ამ მოთხოვნების შესრულებისას, მხოლოდ მნიშვნელობების მასივი შეიცვლება IN-ში (%s).

გეთანხმები და მერე დაივიწყე რაც დავწერე.

კითხვა: მონაცემთა ბაზაში ჩანაცვლება, dle_post via sql შეკითხვა


გამარჯობა, phpmyadmin-ში sql-ის საშუალებით მოთხოვნა უნდა შეიცვალოს მონაცემთა ბაზაში (dle_post - xfields - kp_ssilka) ყველა მნიშვნელობა, გარდა ნომრებისა ცარიელით, ან უბრალოდ წაიშალოს.
ზოგადად, უბრალოდ დატოვეთ ნომრები. CREATE TABLE emoployee_atpt (EmpId INTEGER, EmpStart DATE, EmpEnd DATE, EmpDept VARCHAR (30), PERIOD FOR EmpPeriod (EmpStart, EmpEnd), );

გეფიცები სტრიქონზე "PERIOD FOR EmpPeriod (EmpStart, EmpEnd)". დამეხმარე იმის გარკვევაში რატომ.

პასუხი:ეს არ ეხება SQL Jet-ს ან SQL-92-ს, რომლებთანაც Access პირდაპირ მუშაობს. მიამაგრეთ MS SQL ცხრილები (ვერსია>=2016, როგორც ჩანს...) და გაუშვით მსგავსი მოთხოვნები სერვერზე.

უმრავლესობა თანამედროვე ვებაპლიკაციები ურთიერთქმედებენ მონაცემთა ბაზებთან, ჩვეულებრივ იყენებენ ენას ე.წ SQL. ჩვენდა საბედნიეროდ, ეს ენა ძალიან ადვილი შესასწავლია. ამ სტატიაში განვიხილავთ მარტივს SQL იკითხეთ და ისწავლეთ როგორ გამოიყენოთ ისინი ურთიერთობისთვის MySQL მონაცემთა ბაზა.

რა დაგჭირდებათ?

SQL (სტრუქტურირებული შეკითხვის ენა) ენა, რომელიც სპეციალურად შექმნილია მონაცემთა ბაზის მართვის სისტემებთან ინტერფეისისთვის, როგორიცაა MySQL, Oracle, Sqlite და სხვა... დასასრულებლად SQL ამ სტატიაში მოცემული მოთხოვნები, გირჩევთ დააინსტალიროთ MySQL on ლოკალური კომპიუტერი. მე ასევე გირჩევთ გამოიყენოთ phpMyAdmin როგორც ვიზუალური ინტერფეისი.

ეს ყველაფერი ხელმისაწვდომია ყველასთვის საყვარელ დენვერში. ვფიქრობ, ყველამ უნდა იცოდეს რა არის და სად უნდა მიიღოს :). შეუძლიაასევე გამოიყენეთ WAMP ან MAMP.

დენვერს აქვს ჩაშენებული MySQL კონსოლი. ეს არის ის, რასაც ჩვენ გამოვიყენებთ.

მონაცემთა ბაზის შექმნა:მონაცემთა ბაზის შექმნა

აქ არის ჩვენი პირველი მოთხოვნა. ჩვენ შევქმნით ჩვენს პირველ მონაცემთა ბაზას შემდგომი მუშაობისთვის.

დასაწყისისთვის, გახსენით MySQL კონსოლი და შედით სისტემაში. ამისთვის WAMP ნაგულისხმევი პაროლი ცარიელია. ანუ არაფერი :). ამისთვის MAMP - "ფესვი". დენვერისთვის, ჩვენ უნდა დავაზუსტოთ.

შესვლის შემდეგ შედით შემდეგი ხაზიდა დააჭირეთშეიყვანეთ:

მონაცემთა ბაზის შექმნა my_first_db;

გაითვალისწინეთ, რომ მძიმით (;) ემატება შეკითხვის ბოლოს, ისევე როგორც სხვა ენებში.

ასევე ბრძანებები SQL-ში შემთხვევის მგრძნობიარე. ჩვენ მათ ვწერთ დიდი ასოებით.

Პარამეტრები ფორმალურად: პერსონაჟების ნაკრებიდა შეკრება

თუ გსურთ დააინსტალიროთსიმბოლოთა ნაკრები (სიმბოლოების ნაკრები) და შედარება (შედარება) შეიძლება იყოს დაწერე შემდეგი ბრძანება:

მონაცემთა ბაზის შექმნა my_first_db ნაგულისხმევი სიმბოლოების ნაკრები utf8 აკრიფეთ utf8_general_ci;

პოულობს სიმბოლოთა ნაკრების სიას, რომლებიც მხარდაჭერილია MySQL.

მონაცემთა ბაზების ჩვენება:აჩვენებს ყველა მონაცემთა ბაზის სიას

ეს ბრძანება გამოიყენება ყველა ხელმისაწვდომი მონაცემთა ბაზის სიაში.

ჩამოაგდეს მონაცემთა ბაზა:მონაცემთა ბაზის წაშლა

თქვენ შეგიძლიათ წაშალოთ არსებული DB ამ მოთხოვნის გამოყენებით.

ფრთხილად იყავით ამ ბრძანებასთან, რადგან ის გაფრთხილების გარეშე მუშაობს. თუ თქვენს მონაცემთა ბაზაში არის მონაცემები, ეს ყველაფერი წაიშლება.

გამოყენება:მონაცემთა ბაზის შერჩევა

ტექნიკურად ეს არ არის მოთხოვნა, არამედ განცხადება და არ საჭიროებს მძიმით დასასრულს.

ის ეუბნება MySQL-ს აირჩიეთ ნაგულისხმევი მონაცემთა ბაზა მიმდინარე სესიისთვის. ახლა ჩვენ მზად ვართ შევქმნათ ცხრილები და გავაკეთოთ სხვა რამ მონაცემთა ბაზაში.

რა არის ცხრილი მონაცემთა ბაზაში?

თქვენ შეგიძლიათ წარმოადგინოთ ცხრილი მონაცემთა ბაზაში, როგორც Excel ფაილი.

ისევე, როგორც სურათზე, ცხრილებს აქვთ სვეტების სახელები, სტრიქონები და ინფორმაცია. Გამოყენებით SQL შეკითხვებს ჩვენ შეგვიძლია შევქმნათ ასეთი ცხრილები. ჩვენ ასევე შეიძლება დავამატოთ, წავიკითხოთ, განვაახლოთ და წავშალოთ ინფორმაცია.

მაგიდის შექმნა: მაგიდის შექმნა

C ამ მოთხოვნის გამოყენებით ჩვენ შეგვიძლია შევქმნათ ცხრილები მონაცემთა ბაზაში. სამწუხაროდ, დოკუმენტაცია MySQL დამწყებთათვის არც ისე ნათელია ამ საკითხში. ამ ტიპის შეკითხვის სტრუქტურა შეიძლება იყოს ძალიან რთული, მაგრამ ჩვენ დავიწყებთ რაღაც მარტივით.

შემდეგი შეკითხვა შექმნის ცხრილს 2 სვეტით.

CREATE TABLE მომხმარებლები (მომხმარებლის სახელი VARCHAR(20), create_date DATE);

გთხოვთ გაითვალისწინოთ, რომ ჩვენ შეგვიძლია დავწეროთ ჩვენი მოთხოვნები მრავალ სტრიქონზე და ჩანართებით ჩაღრმავებისთვის.

პირველი ხაზი მარტივია. ჩვენ უბრალოდ ვქმნით ცხრილს სახელწოდებით "მომხმარებლები". შემდეგი, ფრჩხილებში, მძიმით გამოყოფილი, არის ყველა სვეტის სია. ყოველი სვეტის სახელის შემდეგ გვაქვს ინფორმაციის ტიპები, როგორიცაა VARCHAR ან DATE.

VARCHAR(20) ნიშნავს, რომ სვეტი არის string ტიპის და შეიძლება იყოს მაქსიმუმ 20 სიმბოლოს სიგრძე. DATE ასევე არის ინფორმაციის ტიპი, რომელიც გამოიყენება თარიღების შესანახად შემდეგ ფორმატში: "წწწწ - თმ-დდ".

ᲛᲗᲐᲕᲐᲠᲘ ᲒᲐᲡᲐᲦᲔᲑᲘ ( მთავარი გასაღებით)

სანამ ჩვენ გავუშვებთ შემდეგ შეკითხვას, ჩვენ ასევე უნდა შევიტანოთ სვეტი "user_id", რომელიც იქნება ჩვენი ძირითადი გასაღები. თქვენ შეგიძლიათ წარმოიდგინოთ PRIMARY KEY, როგორც ინფორმაცია, რომელიც გამოიყენება ცხრილის თითოეული მწკრივის იდენტიფიცირებისთვის.

CREATE TABLE მომხმარებლები (user_id INT AUTO_INCREMENT PRIMARY KEY, მომხმარებლის სახელი VARCHAR(20), create_date DATE);

INT ხდის 32 ბიტიან მთელი ტიპი(მაგალითად, რიცხვები). AUTO_INCREMENT ავტომატურად წარმოქმნის ახალ მნიშვნელობას ID ყოველ ჯერზე ვამატებთ ინფორმაციის ახალ სერიას. ეს არ არის აუცილებელი, მაგრამ ამარტივებს მთელ პროცესს.

ეს სვეტი არ უნდა იყოს მთელი რიცხვი, მაგრამ ის ყველაზე ხშირად გამოიყენება. ხელმისაწვდომობა Მთავარი გასაღებიასევე სურვილისამებრ, მაგრამ რეკომენდებულია მონაცემთა ბაზის არქიტექტურისა და შესრულებისთვის.

მოდით გავუშვათ შეკითხვა:

ცხრილების ჩვენება:ყველა ცხრილის ჩვენება

ეს მოთხოვნა საშუალებას გაძლევთ მიიღოთ მონაცემთა ბაზაში არსებული ცხრილების სია.

ახსნა:ცხრილის სტრუქტურის ჩვენება

არსებული ცხრილის სტრუქტურის საჩვენებლად, შეგიძლიათ გამოიყენოთ ეს მოთხოვნა.

სვეტები ნაჩვენებია ყველა თვისებით.

ჩამოაგდეს მაგიდა:ცხრილის წაშლა

იგივეა, რაც DOP DATBASE, ეს მოთხოვნა წაშლის ცხრილს და მის შიგთავსს გაფრთხილების გარეშე.

ცხრილის შეცვლა: ცხრილის შეცვლა

ეს მოთხოვნა ასევე შეიძლება შეიცავდეს რთული სტრუქტურაიმის გამო მეტიცვლილებები მას შეუძლია მაგიდაზე. მოდით შევხედოთ მაგალითებს.

(თუ ცხრილი წაშალეთ წინა ეტაპზე, შექმენით იგი ისევ ტესტებისთვის)

სვეტის დამატება

ALTER TABLE მომხმარებლებს ADD email VARCHAR(100) AFTER მომხმარებლის სახელი;

SQL-ის კარგი წაკითხვის გამო, ვფიქრობ, აზრი არ აქვს მის დეტალურ ახსნას. ჩვენ ვამატებთ ახალი სვეტი"ელფოსტა" "მომხმარებლის სახელის" შემდეგ.

სვეტის ამოღება

ასევე ძალიან ადვილი იყო. გამოიყენეთ ეს მოთხოვნა სიფრთხილით, რადგან თქვენი მონაცემები შეიძლება წაიშალოს გაფრთხილების გარეშე.

აღადგინეთ სვეტი, რომელიც ახლახან წაშალეთ შემდგომი ექსპერიმენტებისთვის.

ცვლილებების შეტანა სვეტში

ზოგჯერ შეიძლება დაგჭირდეთ ცვლილებების შეტანა სვეტის თვისებებში და ამისათვის არ გჭირდებათ მისი მთლიანად წაშლა.

ამ შეკითხვამ მომხმარებლის სვეტს დაარქვა "user_name" და შეცვალა მისი ტიპი VARCHAR(20) VARCHAR(30). ამ ცვლილებამ არ უნდა შეცვალოს ცხრილის მონაცემები.

INSERT: ინფორმაციის დამატება მაგიდაზე

მოდით დავამატოთ გარკვეული ინფორმაცია ცხრილში შემდეგი შეკითხვის გამოყენებით.

როგორც ხედავთ, VALUES() შეიცავს მძიმებით გამოყოფილი მნიშვნელობების ჩამონათვალს. ყველა მნიშვნელობა ერთ სვეტშია ჩასმული. და მნიშვნელობები უნდა იყოს სვეტების თანმიმდევრობით, რომლებიც განისაზღვრა ცხრილის შექმნისას.

გაითვალისწინეთ, რომ პირველი მნიშვნელობა არის NULL PRIMARY KEY ველისთვის, სახელწოდებით "user_id". ამას ვაკეთებთ ისე, რომ ID ავტომატურად გენერირებული იყოს, რადგან სვეტს აქვს AUTO_INCREMENT თვისება. როდესაც პირველად დაემატება ინფორმაცია ID იქნება 1. შემდეგი სტრიქონი იქნება 2 და ასე შემდეგ...

ალტერნატიული ვარიანტი

არის კიდევ ერთი შეკითხვის ვარიანტი რიგების დასამატებლად.

ამჯერად ჩვენ ვიყენებთ SET საკვანძო სიტყვას VALUES-ის ნაცვლად და მას არ აქვს ფრჩხილები. არსებობს რამდენიმე ნიუანსი:

შეგიძლიათ გამოტოვოთ სვეტი. მაგალითად, ჩვენ არ მივანიჭეთ მნიშვნელობა „user_id“-ს, რომელიც ნაგულისხმევად იქნება მისი AUTO_INCREMENT მნიშვნელობა. თუ გამოტოვებთ VARCHAR ტიპის სვეტს, მაშინ დაემატება ცარიელი მწკრივი.

თითოეული სვეტი უნდა იყოს მითითებული სახელით. ამის გამო, მათი მოხსენიება შესაძლებელია ნებისმიერი თანმიმდევრობით, წინა ვერსიისგან განსხვავებით.

ალტერნატიული ვარიანტი 2

აქ არის კიდევ ერთი ვარიანტი.

ისევ და ისევ, რადგან არის მითითებები სვეტის სახელზე, შეგიძლიათ დააყენოთ მნიშვნელობები ნებისმიერი თანმიმდევრობით.

LAST_INSERT_ID()

შეგიძლიათ გამოიყენოთ ეს მოთხოვნა, რომ მიიღოთ ID, რომელიც იყო AUTO_INCREMENT მიმდინარე სესიის ბოლო რიგისთვის.

NOW ()

ახლა დროა ვაჩვენოთ, თუ როგორ შეგიძლიათ გამოიყენოთ MySQL ფუნქცია შეკითხვებში.

NOW() ფუნქცია გამოდის მიმდინარე თარიღი. ასე რომ, თქვენ შეგიძლიათ გამოიყენოთ ის, რომ ავტომატურად დააყენოთ სვეტის თარიღი მიმდინარე თარიღზე ახალი მწკრივის ჩასმისას.

გთხოვთ, გაითვალისწინოთ, რომ ჩვენ მივიღეთ 1 გაფრთხილება, მაგრამ გთხოვთ, უგულებელყოთ იგი. ამის მიზეზი ის არის, რომ NOW() ასევე ემსახურება დროებითი ინფორმაციის გამოტანას.

SELECT: მონაცემების წაკითხვა ცხრილიდან

თუ ჩვენ დავამატებთ ინფორმაციას ცხრილს, მაშინ ლოგიკური იქნება მისი წაკითხვის სწავლა იქიდან. სწორედ აქ დაგვეხმარება SELECT მოთხოვნა.

ქვემოთ მოცემულია ყველაზე მარტივი შესაძლო მოთხოვნააირჩიეთ ცხრილის წასაკითხად.

ამ შემთხვევაში, ვარსკვლავი (*) ნიშნავს, რომ ჩვენ ვითხოვეთ ყველა ველი ცხრილიდან. თუ გსურთ მხოლოდ გარკვეული სვეტები, შეკითხვა ასე გამოიყურება.

მდგომარეობასად

ყველაზე ხშირად, ჩვენ არ გვაინტერესებს ყველა სვეტი, მაგრამ მხოლოდ ზოგიერთი. მაგალითად, დავუშვათ, რომ ჩვენ მხოლოდ გვჭირდება ელექტრონული მისამართიმომხმარებლისთვის "nettuts".

WHERE გაძლევთ საშუალებას დააყენოთ პირობები მოთხოვნაში და გააკეთოთ დეტალური არჩევანი.

გაითვალისწინეთ, რომ თანასწორობისთვის გამოიყენება ერთი ტოლობის ნიშანი (=) და არა ორი, როგორც პროგრამირებაში.

თქვენ ასევე შეგიძლიათ გამოიყენოთ შედარება.

AND ან OR შეიძლება გამოყენებულ იქნას პირობების გაერთიანებისთვის:

გთხოვთ გაითვალისწინოთ, რომ რიცხვითი მნიშვნელობებიარ უნდა იყოს ბრჭყალებში.

IN()

ეს სასარგებლოა რამდენიმე მნიშვნელობის შერჩევისთვის

LIKE

საშუალებას გაძლევთ განახორციელოთ "გადაწყვეტილების" მოთხოვნები

% ხატულა გამოიყენება როგორც „გადამცემი“. ანუ ყველაფერი შეიძლება იყოს თავის ადგილზე.

მდგომარეობაშეკვეთა

თუ გსურთ მიიღოთ შედეგი შეკვეთილი ფორმით ნებისმიერი კრიტერიუმის მიხედვით

ნაგულისხმევი წესრიგი არის ASC (ყველაზე პატარადან უდიდესი). საპირისპიროდ, DESC გამოიყენება.

ლიმიტი ... ოფსეტური ...

თქვენ შეგიძლიათ შეზღუდოთ დაბრუნებული შედეგების რაოდენობა.

LIMIT 2 იღებს მხოლოდ პირველ 2 შედეგს. LIMIT 1 OFFSET 2 იღებს 1 შედეგს პირველი 2-ის შემდეგ. LIMIT 2, 1 ნიშნავს იგივეს (უბრალოდ შენიშვნა ოფსეტური მოდის ჯერ და შემდეგ ლიმიტი).

განახლება: შეიტანეთ ცვლილებები ცხრილში მოცემულ ინფორმაციას

ეს მოთხოვნა გამოიყენება ცხრილში ინფორმაციის შესაცვლელად.

უმეტეს შემთხვევაში, ის გამოიყენება WHERE პუნქტთან ერთად, რადგან დიდი ალბათობით მოგინდებათ ცვლილებების შეტანა გარკვეულ სვეტებში. თუ არ არის WHERE პუნქტი, ცვლილებები გავლენას მოახდენს ყველა მწკრივზე.

თქვენ ასევე შეგიძლიათ გამოიყენოთ LIMIT რიგების რაოდენობის შესაზღუდად, რომლებიც უნდა შეიცვალოს.

წაშლა: ინფორმაციის ამოღება ცხრილიდან

ისევე, როგორც UPDATE, ეს მოთხოვნა გამოიყენება WHERE:

ცხრილის შიგთავსის წასაშლელად, შეგიძლიათ უბრალოდ გააკეთოთ ეს:

DELETE FROM მომხმარებლებისგან;

მაგრამ უმჯობესია გამოიყენოთშეკვეცილი

წაშლის გარდა, ეს მოთხოვნა ასევე აღადგენს მნიშვნელობებს AUTO_INCREMENT ხოლო რიგების ხელახლა დამატებისას ათვლა დაიწყება ნულიდან.წაშლა არ აკეთებს ამას და ათვლა გრძელდება.

მცირე ასოების და სპეციალური სიტყვების გამორთვა

სიმებიანი მნიშვნელობები

ზოგიერთი სიმბოლო უნდა იყოს გამორთული (გაქცევა ), ან შეიძლება იყოს პრობლემები.

ამისთვის გამოიყენება უკანა ხაზი.(\).

განსაკუთრებული სიტყვები

რადგან MySQL-ში ბევრი განსაკუთრებული სიტყვაა (აირჩიეთ ან განაახლეთ ), მათი გამოყენებისას შეცდომების თავიდან ასაცილებლად, უნდა გამოიყენოთ ციტატები. მაგრამ არა ჩვეულებრივი ციტატები, არამედ ასეთი(`).

ანუ, თქვენ უნდა დაამატოთ სვეტი სახელად "წაშლა ", თქვენ უნდა გააკეთოთ ეს ასე:

დასკვნა

გმადლობთ, რომ ბოლომდე წაიკითხეთ. იმედი მაქვს, რომ ეს სტატია თქვენთვის სასარგებლო აღმოჩნდა. ჯერ არ დასრულებულა! Გაგრძელება იქნება:).


სტატიის შინაარსი
1. უმარტივესი MySQL მოთხოვნები
2. მარტივი SELECT მოთხოვნები
3. მარტივი INSERT (ახალი ჩანაწერი) მოთხოვნები
4. მარტივი განახლება (გადაწერა, დამატება) მოთხოვნები
5. მარტივი DELETE (ჩანაწერის წაშლა) მოთხოვნები
6. მარტივი DROP (ცხრილის წაშლა) მოთხოვნები
7. კომპლექსური MySQL მოთხოვნები
8. MySQL მოთხოვნები და PHP ცვლადები

1. უმარტივესი SQL მოთხოვნები

1. აჩვენებს ყველა მონაცემთა ბაზის სიას.

მონაცემთა ბაზების ჩვენება;
2. ჩამოთვლის ყველა ცხრილს base_name მონაცემთა ბაზაში.

ცხრილების ჩვენება base_name-ში;

2. მარტივი SELECT მოთხოვნები MySQL მონაცემთა ბაზაში

აირჩიეთ– მოთხოვნა, რომელიც ირჩევს არსებულ მონაცემებს მონაცემთა ბაზიდან. ასარჩევად, შეგიძლიათ მიუთითოთ გარკვეული პარამეტრებიარჩევანი. მაგალითად, რუსულ ენაზე მოთხოვნის არსი ასე ჟღერს: აირჩიეთ ასეთი და ასეთი სვეტები ასეთი და ასეთი ცხრილიდან, სადაც ამა თუ იმ სვეტის პარამეტრი მნიშვნელობას უდრის.

1. ირჩევს ყველა მონაცემს tbl_name ცხრილში.

SELECT * FROM tbl_name;
2. აჩვენებს tbl_name ცხრილში ჩანაწერების რაოდენობას.

SELECT count(*) FROM tbl_name;
3. ირჩევს (SELECT) ცხრილიდან (FROM) tbl_name ლიმიტი (LIMIT) 3 ჩანაწერი, დაწყებული 2-დან.

SELECT * FROM tbl_name LIMIT 2,3;
4. ირჩევს (SELECT) ALL (*) ჩანაწერს (FROM) ცხრილიდან tbl_name და ახარისხებს მათ (ORDER BY) id ველის მიხედვით.

SELECT * FROM tbl_name ORDER BY id;
5. ირჩევს (SELECT) ALL ჩანაწერს (FROM) tbl_name ცხრილიდან და ახარისხებს მათ (ORDER BY) ID ველის მიხედვით REVERSE თანმიმდევრობით.

SELECT * FROM tbl_name ORDER BY id DESC;
6. ირჩევს ( აირჩიეთ) ყველა (*) ჩანაწერი ( FROM) მაგიდები მომხმარებლებიდა ახარისხებს მათ ( შეკვეთა) მოედანზე idზრდადი მიმდევრობით, ლიმიტი ( ᲖᲦᲕᲐᲠᲘ) პირველი 5 ჩანაწერი.

აირჩიეთ * მომხმარებლებისგან ORDER BY ID LIMIT 5;
7. ირჩევს ყველა ჩანაწერს ცხრილიდან მომხმარებლები, სად არის ველი fnameშეესაბამება ღირებულებას გენა.

SELECT * FROM users WHERE fname="Gena";
8. ირჩევს ყველა ჩანაწერს ცხრილიდან მომხმარებლები, სადაც ველის მნიშვნელობა fnameდაიწყე გე.

SELECT * მომხმარებლებისგან WHERE fname LIKE "Ge%";
9. ირჩევს ყველა ჩანაწერს ცხრილიდან მომხმარებლები, სად fnameმთავრდება naდა ახარისხებს ჩანაწერებს მნიშვნელობის ზრდის მიხედვით id.

SELECT * მომხმარებლებისგან WHERE fname LIKE "%na" ORDER BY id;
10. ირჩევს ყველა მონაცემს სვეტებიდან fname, სახელიმაგიდიდან მომხმარებლები.

SELECT fname, lname FROM users;

11. ვთქვათ, თქვენ გაქვთ ქვეყანა მომხმარებლის მონაცემების ცხრილში. ასე რომ, თუ გსურთ აჩვენოთ მხოლოდ არსებული მნიშვნელობების სია (ისე, რომ, მაგალითად, რუსეთი არ იყოს ნაჩვენები 20-ჯერ, არამედ მხოლოდ ერთხელ), მაშინ ჩვენ ვიყენებთ DISTINCT. ის რუსეთს, უკრაინას, ბელორუსს გამოიყვანს განმეორებადი ღირებულებების მასიდან. ამრიგად, მაგიდიდან მომხმარებლებიდინამიკები ქვეყანაგამოვა ყველა უნიკალური მნიშვნელობა

აირჩიეთ განსხვავებული ქვეყანა მომხმარებლებისგან;
12. ირჩევს ALL მწკრივის მონაცემებს ცხრილიდან მომხმარებლებისად ასაკიაქვს მნიშვნელობები 18,19 და 21.

აირჩიეთ * მომხმარებლებისგან WHERE ასაკი IN (18,19,21);
13. ირჩევს MAXIMUM მნიშვნელობა ასაკიმაგიდაზე მომხმარებლები. ანუ, თუ თქვენ გაქვთ ყველაზე დიდი მნიშვნელობა თქვენს ცხრილში ასაკი(ინგლისური ასაკიდან) არის 55, მაშინ შეკითხვის შედეგი იქნება 55.

SELECT max(ასაკი) FROM მომხმარებლებისგან;
14. აირჩიეთ მონაცემები ცხრილიდან მომხმარებლებიველების მიხედვით სახელიდა ასაკისად ასაკიიღებს უმცირეს მნიშვნელობას.

აირჩიეთ სახელი, მინ(ასაკი) მომხმარებლებისგან;
15. აირჩიეთ მონაცემები ცხრილიდან მომხმარებლებიმოედანზე სახელისად idარ არის 2-ის ტოლი.

აირჩიეთ სახელი მომხმარებლებისგან WHERE id!="2";

3. მარტივი INSERT (ახალი ჩანაწერი) მოთხოვნები

INSERT– მოთხოვნა, რომელიც საშუალებას გაძლევთ თავდაპირველად ჩაწეროთ ჩანაწერი მონაცემთა ბაზაში. ანუ ქმნის ახალ ჩანაწერს (ხაზს) მონაცემთა ბაზაში.

1. აკეთებს ახალ ჩანაწერს ცხრილში მომხმარებლები, მინდორში სახელიჩანართებს სერგეი და მინდორში ასაკიჩანართები 25. ამრიგად, იგი ემატება ცხრილს ახალი ხაზიამ ღირებულებებით. თუ მეტი სვეტია, მაშინ დარჩენილი სვეტები დარჩება ცარიელი ან ნაგულისხმევი მნიშვნელობებით.

INSERT INTO მომხმარებლებს (სახელი, ასაკი) VALUES ("სერგეი", "25");

4. მარტივი განახლების მოთხოვნები MySQL მონაცემთა ბაზაში

განახლება– მოთხოვნა, რომელიც საშუალებას გაძლევთ დაჯავშნოთ ველის მნიშვნელობები ან დაამატოთ რაიმე მონაცემთა ბაზაში უკვე არსებულ მწკრივს. მაგალითად, არსებობს მზად სტრიქონი, მაგრამ თქვენ უნდა გადაწეროთ მასში ასაკის პარამეტრი, რადგან ის დროთა განმავლობაში შეიცვალა.

1. ცხრილში მომხმარებლები ასაკიხდება 18.

განაახლეთ მომხმარებლები დააყენეთ ასაკი = "18" WHERE id = "3";
2. ყველაფერი იგივეა, რაც პირველ მოთხოვნაში, ის უბრალოდ აჩვენებს მოთხოვნის სინტაქსს, სადაც ორი ან მეტი ველი გადაწერილია.
Მაგიდაზე მომხმარებლები WHERE id უდრის 3 ველის მნიშვნელობას ასაკი 18 წლის ხდება და ქვეყანარუსეთი.

განაახლეთ მომხმარებლები დააყენეთ ასაკი = "18", ქვეყანა = "რუსეთი" WHERE id = "3";

5. მარტივი DELETE (ჩანაწერის წაშლა) მოთხოვნები MySQL მონაცემთა ბაზაში

წაშლა– მოთხოვნა, რომელიც შლის რიგს ცხრილიდან.

1. ხსნის რიგს ცხრილიდან მომხმარებლებისად idუდრის 10-ს.

წაშლა მომხმარებლებისგან WHERE id = "10";

6. მარტივი DROP (ცხრილის წაშლა) მოთხოვნები MySQL მონაცემთა ბაზაში

ვარდნა- მოთხოვნა, რომელიც წაშლის ცხრილს.

1. შლის მთელ ცხრილს tbl_name.

DROP TABLE tbl_name;

7. კომპლექსური მოთხოვნები MySQL მონაცემთა ბაზაში

საინტერესო კითხვები, რომლებიც შეიძლება სასარგებლო იყოს გამოცდილი მომხმარებლებისთვისაც კი

აირჩიეთ ID, სახელი, ქვეყანა FROM მომხმარებლებისგან, ადმინისტრატორებისგან WHERE TO_DAYS(NOW()) - TO_DAYS(რეგისტრაციის_თარიღი)<= 14 AND activation != "0" ORDER BY registration_date DESC;
ეს რთული მოთხოვნა ირჩევს სვეტებს ID, სახელი, ქვეყანამაგიდებში მომხმარებლები, ადმინებისად რეგისტრაციის თარიღი(თარიღი) არა ძველი 14 დღეები I გააქტიურებაᲐᲠ ᲣᲓᲠᲘᲡ 0 , Დალაგება რეგისტრაციის თარიღისაპირისპირო მიზნით (პირველი ახალი).

განაახლეთ მომხმარებლები SET ასაკი = "18+" WHERE ასაკი = ( აირჩიეთ ასაკი მომხმარებლებისგან WHERE მამაკაცი = "კაცი");
ზემოთ არის მაგალითი ე.წ მოთხოვნა მოთხოვნის ფარგლებში SQL-ში. განაახლეთ ასაკი მომხმარებლებს შორის 18+, სადაც სქესი არის მამრობითი. მე არ გირჩევთ ასეთი მოთხოვნის ვარიანტებს. პირადი გამოცდილებიდან ვიტყვი, რომ ჯობია რამდენიმე ცალკე შექმნა - უფრო სწრაფად დამუშავდება.

8. MySQL და PHP მონაცემთა ბაზის მოთხოვნები

MySQL შეკითხვებში PHP გვერდზე, შეგიძლიათ ცვლადების ჩასმა შედარებული მნიშვნელობებით და ა.შ. ორიოდე მაგალითი

1. ირჩევს ყველა ჩანაწერს ცხრილიდან მომხმარებლები, სად არის ველი fnameშეესაბამება ცვლადის მნიშვნელობას $name.

SELECT * FROM users WHERE fname="$name";
2. ცხრილში მომხმარებლები WHERE id უდრის 3 ველის მნიშვნელობას ასაკიიცვლება $age ცვლადის მნიშვნელობაზე.

განაახლეთ მომხმარებლები SET ასაკი = "$age" WHERE id = "3";

ყურადღება!თუ სხვა მაგალითი გაინტერესებთ, დაწერეთ შეკითხვა კომენტარებში!



გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: