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.
Mavzular ro‘yxati (9 / 11)
1-bob. Algoritmlar
2-bob. Ma’lumotlar tuzilmasi
3-bob. Ma’lumotlar bazalari
4-bob. Zamonaviy texnologiyalar va loyihalar
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,MAXkabi funksiyalar yig‘ma natija beradi.INSERT,UPDATE,DELETEma’lumotni qo‘shadi, yangilaydi va o‘chiradi;WHEREni unutmang.- Python’da
sqlite3moduli bilan ishlanadi, qiymatlar?belgisi orqali uzatiladi.
Amaliy topshiriqlar
- “students” jadvali bo‘yicha SQL-so‘rov yozing: bali 70 dan yuqori 10-sinf o‘quvchilarining ismlarini bal bo‘yicha kamayish tartibida chiqarsin.
- Python’da
sqlite3yordamida xotirada baza yarating (sqlite3.connect(“:memory:”)), “students” jadvalini tuzing, 3 ta o‘quvchi qo‘shing va o‘rtacha ballniAVG(score)bilan hisoblang. - Ikki buyruqni solishtiring:
UPDATE students SET score = 0vaUPDATE 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`WHERE` bo‘limi nima uchun kerak?Javobni ko‘rishJavobni yashirish
U shartni beradi: buyruq faqat shartga mos yozuvlarga qo‘llanadi.2Nima uchun so‘rovga foydalanuvchi qiymatlarini `?` belgisi orqali uzatish kerak?Javobni ko‘rishJavobni yashirish
Bu qiymat so‘rov matni sifatida talqin qilinishini oldini oladi va SQL-in’ektsiya hujumidan himoya qiladi.
Saytga kiring
Slaydlar va PDF faqat ro‘yxatdan o‘tgan foydalanuvchilar uchun: ko‘rish ham, yuklab olish ham. Kirish bepul.
Saytga kiring
Slaydlar va PDF faqat ro‘yxatdan o‘tgan foydalanuvchilar uchun: ko‘rish ham, yuklab olish ham. Kirish bepul.
0 / 11 mavzu o‘tildi
Kirib belgilash