Asosiy kontentga o‘tish
Informatik.uz
3-bob. Ma’lumotlar bazalari

SQL tili: asosiy so‘rovlar

SQL — ma’lumotlar bazasi bilan ishlash tili. `SELECT`, `WHERE`, `ORDER BY`, `INSERT`, `UPDATE`, `DELETE` buyruqlarini va Python’da `sqlite3` orqali ishlatishni o‘rganamiz.

9-mavzu / 112 daq o‘qishYangilangan: 27-oktabr, 2026
Mavzular ro‘yxati (9 / 11)

SQL (Structured Query Language) — relyatsion ma’lumotlar bazasi bilan ishlash uchun standart til. SQL’da “qanday” emas, “nima” kerakligi yoziladi: siz natija qanday bo‘lishini tasvirlaysiz, qidirishni esa MBBT o‘zi bajaradi. Quyida “students” jadvali (maydonlari id, name, grade, score) bo‘yicha misollar keltirilgan.

Ma’lumotni o‘qish uchun SELECT ishlatiladi: SELECT name, score FROM students — barcha o‘quvchilarning ismi va balini beradi, SELECT * FROM students esa barcha maydonlarni. Shart qo‘yish uchun WHERE: SELECT name FROM students WHERE grade = 11 AND score >= 80. Natijani tartiblash uchun ORDER BY score DESC (kamayish bo‘yicha) yoziladi. Yig‘ma funksiyalar ham bor: COUNT(*) — yozuvlar soni, AVG(score) — o‘rtacha, MAX(score) — eng katta qiymat.

Ma’lumotni o‘zgartiruvchi buyruqlar: INSERT INTO students (name, grade, score) VALUES (“Ali”, 11, 90) — yangi yozuv qo‘shadi; UPDATE students SET score = 95 WHERE name = “Ali” — mavjud yozuvni yangilaydi; DELETE FROM students WHERE id = 3 — yozuvni o‘chiradi. UPDATE va DELETE da WHERE ni unutish xavfli: u butun jadvaldagi hamma yozuvga ta’sir qiladi. Shu sababli bunday buyruqlarni avval SELECT bilan tekshirib ko‘rgan ma’qul.

Python’da SQLite bazasi bilan standart sqlite3 moduli orqali ishlanadi: con = sqlite3.connect("school.db"), so‘ng cur = con.execute("SELECT name FROM students") va for row in cur: print(row[0]). O‘zgartirish buyruqlaridan keyin con.commit() chaqirib, o‘zgarishlar saqlanadi. Foydalanuvchi qiymatlarini so‘rovga to‘g‘ridan-to‘g‘ri matn bilan qo‘shmang: con.execute("SELECT * FROM students WHERE name = ?", (name,)) kabi ? belgisidan foydalaning — bu SQL-in’ektsiya hujumidan himoya qiladi.

Asosiy xulosalar

  • SQL’da natija qanday bo‘lishi tasvirlanadi, qidirishni MBBT bajaradi.
  • SELECT … FROM … WHERE … ORDER BY … ma’lumotni tanlash, saralash va filtrlash uchun ishlatiladi.
  • COUNT, AVG, MAX kabi funksiyalar yig‘ma natija beradi.
  • INSERT, UPDATE, DELETE ma’lumotni qo‘shadi, yangilaydi va o‘chiradi; WHERE ni unutmang.
  • Python’da sqlite3 moduli bilan ishlanadi, qiymatlar ? belgisi orqali uzatiladi.

Amaliy topshiriqlar

  1. “students” jadvali bo‘yicha SQL-so‘rov yozing: bali 70 dan yuqori 10-sinf o‘quvchilarining ismlarini bal bo‘yicha kamayish tartibida chiqarsin.
  2. Python’da sqlite3 yordamida xotirada baza yarating (sqlite3.connect(“:memory:”)), “students” jadvalini tuzing, 3 ta o‘quvchi qo‘shing va o‘rtacha ballni AVG(score) bilan hisoblang.
  3. Ikki buyruqni solishtiring: UPDATE students SET score = 0 va UPDATE students SET score = 0 WHERE id = 1. Birinchisi nima uchun xavfli ekanini tushuntiring va uni bajarishdan oldin qanday tekshirish mumkinligini yozing.

Mustahkamlash savollari

O‘zingizni sinab ko‘ring: avval o‘ylab ko‘ring, keyin javobni oching.

  1. 1`WHERE` bo‘limi nima uchun kerak?
    U shartni beradi: buyruq faqat shartga mos yozuvlarga qo‘llanadi.
  2. 2Nima uchun so‘rovga foydalanuvchi qiymatlarini `?` belgisi orqali uzatish kerak?
    Bu qiymat so‘rov matni sifatida talqin qilinishini oldini oladi va SQL-in’ektsiya hujumidan himoya qiladi.

0 / 11 mavzu o‘tildi

Kirib belgilash
Informatika 11-sinf darsligi muqovasi
DarslikdaInformatika — 11-sinf