Barcha kurslar Yo'nalishlar Reyting Kirish Ro'yxatdan o'tish

Bu modulda jadvalning butun hayoti ko’rib chiqildi: uni yaratish, ma’lumot bilan to’ldirish, yozuvlarni o’zgartirish, keraksizini o’chirish va oxirida jadvalning o’zini olib tashlash.

Jadval yaratish

Jadval CREATE TABLE bilan quriladi. Qavs ichida har bir ustun uchun nom, ma’lumot turi va kerak bo’lsa cheklov yoziladi.

CREATE TABLE talabalar (
    id     INTEGER PRIMARY KEY,
    ism    VARCHAR(50) NOT NULL,
    guruh  VARCHAR(10),
    ball   INTEGER DEFAULT 0
);

Natija:

CREATE TABLE

Jadval yaratilgach, uning tuzilmasi kelgusi barcha so’rovlar uchun shartnoma bo’lib qoladi: ball ustuniga matn yozib bo’lmaydi, ismsiz qator qo’shib bo’lmaydi.

Agar shu nomli jadval allaqachon mavjud bo’lsa, so’rov xato beradi. Buni oldini olishning ikki yo’li bor: nomni o’zgartirish yoki CREATE TABLE IF NOT EXISTS yozish. Boshlovchilar tez-tez ustunlar orasiga vergul qo’yishni unutadi — bunda baza xato o’rnini syntax error at or near ko’rinishida ko’rsatadi va ko’pincha xato aslida bir satr yuqorida bo’ladi.

INSERT — yozuv qo’shish

INSERT INTO jadvalga yangi qator qo’shadi. Ustunlar ro’yxati va qiymatlar tartibi bir-biriga mos kelishi shart.

INSERT INTO talabalar (id, ism, guruh, ball)
VALUES (1, 'Aziz', '101', 85);

Bir so’rovda bir nechta qator qo’shish mumkin — bu bittalab qo’shishdan tezroq:

INSERT INTO talabalar (id, ism, guruh, ball) VALUES
    (2, 'Malika', '102', 92),
    (3, 'Bobur',  '101', 74);

Natija:

INSERT 0 3

Ustun ro’yxatini butunlay tushirib qoldirish mumkin, lekin tavsiya etilmaydi: u holda qiymatlar jadvaldagi ustunlar tartibiga bog’lanib qoladi va jadvalga yangi ustun qo’shilishi bilan barcha eski so’rovlar buziladi. Matn qiymatlari bitta tirnoq ichida yoziladi; qo’shtirnoq SQL’da ustun nomi uchun ishlatiladi, shuning uchun "Aziz" deb yozilgan qiymat baza tomonidan ustun nomi sifatida o’qiladi va column "Aziz" does not exist xatosini beradi.

UPDATE — mavjud yozuvni o’zgartirish

UPDATE allaqachon mavjud qatorlarni yangilaydi. SET qaysi ustun qanday qiymat olishini, WHERE esa qaysi qatorlarga tegishini belgilaydi.

UPDATE talabalar
SET ball = 90
WHERE id = 3;

Natija:

UPDATE 1

Natijadagi son nechta qator o’zgarganini ko’rsatadi — uni har doim tekshirib boring. UPDATE 0 chiqsa, shart hech bir qatorga tushmagan; UPDATE 500 chiqsa, ehtimol shart juda keng.

Eng qimmatga tushadigan xato — WHEREni unutish:

UPDATE talabalar SET ball = 90;

Bu so’rov jadvaldagi barcha talabalarning bahosini 90 qilib qo’yadi va uni bekor qilish uchun "orqaga" tugmasi yo’q. Xavfsiz odat: avval xuddi shu WHERE bilan SELECT yozib, nechta va qaysi qator tushishini ko’ring, keyin uni UPDATEga aylantiring.

DELETE — qatorlarni o’chirish

DELETE qatorlarni o’chiradi, jadvalning o’zi va uning tuzilmasi joyida qoladi.

DELETE FROM talabalar
WHERE ball < 60;

Natija:

DELETE 2

DELETE uchun ham WHERE qoidasi aynan UPDATEdagidek: shartsiz DELETE FROM talabalar; jadvalni butunlay bo’shatadi. Odatda ma’lumotni fizik o’chirish o’rniga faol = FALSE kabi belgi qo’yish afzalroq — o’chirilgan buyurtma yoki foydalanuvchi keyin hisobot uchun kerak bo’lib qolishi mumkin.

DROP — jadvalni olib tashlash

DROP TABLE jadvalning o’zini, uning tuzilmasi, cheklovlari va butun ma’lumoti bilan birga yo’q qiladi.

DROP TABLE talabalar;

Natija:

DROP TABLE

Shundan keyin SELECT * FROM talabalar; so’rovi relation "talabalar" does not exist xatosini beradi — jadval endi mavjud emas.

Buyruq Nima o’chadi Jadval qoladimi
DELETE Shartga tushgan qatorlar Ha, tuzilma butun
DELETE (WHERE’siz) Barcha qatorlar Ha, bo’sh holda
DROP TABLE Jadval va butun ma’lumot Yo’q

Uchala buyruqni ajratib turadigan oddiy qoida: DELETE — daftardan satrni o’chirish, DROP — daftarni yoqib yuborish. Ishlab turgan bazada DROP yozishdan oldin zaxira nusxa borligiga ishonch hosil qiling.

Amaliyot

  1. kitoblar jadvalini yarating: id (birlamchi kalit), nomi (bo’sh bo’lmasin), muallif, yil va narx ustunlari bilan.
  2. Bitta INSERT so’rovi bilan jadvalga uchta kitob qo’shing.
  3. Bitta kitobning narxini 10 foizga oshiring — faqat o’sha kitob o’zgarishiga ishonch hosil qiling.
  4. 2000-yildan oldin chop etilgan kitoblarni o’chiring. Avval xuddi shu shart bilan SELECT yozib, qaysi qatorlar tushishini tekshiring.
  5. Mashq uchun kitoblar_test nomli nusxa jadval yarating, unga bir nechta qator qo’shing va DELETE bilan DROP farqini o’z ko’zingiz bilan ko’ring: avval qatorlarni o’chiring, keyin jadvalni.

Endi modul testini yeching — INSERT, UPDATE, DELETE va DROP orasidagi farqni mustahkamlaysiz.

Jadval va ma’lumotlarni boshqarish — konspekt

Jadval va ma'lumotlarni boshqarish Maqola

CREATE TABLE bilan jadval qurish, INSERT bilan yozuv qo’shish, UPDATE bilan o’zgartirish, DELETE va DROP bilan o’chirish — amaliy modul konspekti.

Eslatma yozish uchun saytga kiring.

Resurslar hozircha qo'shilmagan

O'qituvchi dars uchun qo'shimcha materiallarni qo'shganida shu yerda paydo bo'ladi.

Savol berish uchun saytga kiring.

Hozircha savollar yo'q

Bu dars yuzasidan birinchi savolni siz bering.