Sqlite3 dagi tanlangan satrlar sonini aniqlash
Jadval ustida qandaydir amallarni bajarish uchun tegishli satrlarni tanlab olishga toʻgʻri keladi. Tanlab olingan satrlar sonini qayd etish uchun Sqlite3 ning rowcount metodidan foydalaniladi.
Rowcount metodi SELECT operatori bilan birga ishga tushirilganda hozircha (tanlov toʻla tugamagucha) toʻgʻridan-toʻgʻri -1 qiymatni qaytaradi. Quyidagi namunaga e’tibor bering:
print(cursorXod.execute('SELECT * FROM hodim').rowcount).
Shu sababli, zarur barcha satrlarni qamrab olish uchun dastlab ularning hammasi haqida axborot olish va shundan keyingina natijani qayd etish talab qilinadi.
rows = cursorXod.fetchall()
print(len(rows))
Agar kodda DELETE operatori biror shartsiz qoʻllansa, MB jadvalidagi barcha satrlar oʻchirib tashlanadi va oʻchirilgan satrlar soni rowcount ga qaytariladi. Agar birorta ham satr oʻchirilmagan boʻlsa, u holda funksiya 0 qiymatni qaytaradi.
print(cursorXod.execute('DELETE FROM hodim').rowcount).
MB jadvallari roʻyhatini koʻrish
Sqlite3 modulida MB dagi barcha jadvallar roʻyhatini aniqlash uchun dastlab sqlite_master jadvaliga murojaat qilinadi, soʻngra natijani olish uchun SELECT operatoridan fetchall() funksiyasi ishga tushiriladi.
Sqlite_master – bu Sqlite3 ning hamma jarvallarini oʻzida saqlovchi bosh jadval hisoblanadi.
import sqlite3
con = sqlite3.connect('hodimlar_bulimi.db')
def sql_fetch(con):
cursorXod = con.cursor()
cursorXod.execute('SELECT name from sqlite_master where type= "table"')
print(cursorXod.fetchall())
sql_fetch(con)
Jadvalning mavjudligini tekshirish
Jadvallarni yaratishdan avval ularning mavjudligini aniqlash muhim sanaladi. Shuningdek, oʻchiriladigan jadval albbata mavjud boʻlishi kerak.
Jadvallarning mavjudligini aniqlash uchun CREATE TABLE operatorini “if not exists” koʻrsatmasi bilan birga qoʻllaniladi. Buyruqning umumiy koʻrinishi quyidagicha:
import sqlite3
con = sqlite3.connect('Xodimlar_bulimi.db')
def sql_fetch(con):
cursorXod = con.cursor()
cursorXod.execute('create table if not exists projects(id integer, name text)')
con.commit()
sql_fetch(con)
Huddi shuningdek, jadvallarni oʻchirishda “if not exists” koʻrsatmasini DROP TABLE operatori bilan birga qoʻllaniladi:
cursorXod.execute('drop table if exists projects').
Ishlashga ruhsat olish uchun jadvalning mavjudligini quyidagi soʻrovnoma asosida aniqlash mumkin:
cursorXod.execute('SELECT name from sqlite_master WHERE type = "table" AND name = "Xodimlar_bulimi"')
print(cursorXod.fetchall()).
Agar koʻrsatilgan jadval nomi mavjud bo'lmasa, u holda boʻsh massiv qaytariladi.
Do'stlaringiz bilan baham: |