Python Sqlite3 Problemi

Merhabalar büyüklerim ve kardeşlerim;
Bu aralar öğretmenimin tavsiyesiyle Sqlite ile veritabanı üzerine çalışmaya başladım.

import sqlite3

with sqlite3.connect("sınıf.db") as Connect_Db:
    imlec = Connect_Db.cursor()
    imlec.execute("""CREATE TABLE IF NOT EXISTS ogrenciler(ogr_no INTEGER, ogr_adi TEXT, ogr_soyadi TEXT, ogr_bolum TEXT)
""")
    imlec.execute("""INSERT INTO ogrenciler VALUES(120, "Mehmet","Sezer","Bilgisayar Muhendisligi")""")
    Connect_Db.commit()

Yukarıdaki kodlar ile bir ogrenciler adlı veritabanı dosyası oluşturdum verileri yazdım.

import sqlite3

Connect_Db = sqlite3.connect("database.db")
imlec = Connect_Db.cursor()
imlec.execute("""SELECT *FROM ogrenciler""")
ogrenciler = imlec.fetchall()
print(ogrenciler[1])

Yukarıda kodlar ile veritabanı içerisindeki veriyi okumak istediğimde aşağıdaki hatayı alıyorum sebebi nedir ?

Traceback (most recent call last):
  File "C:/Users/mehme/PycharmProjects/training/training.py", line 7, in <module>
    print(ogrenciler[1])
IndexError: list index out of range

Öncelikle ikinci kodlardaki veritabanı ismini database.db değil de, sınıf.db yazın. Çünkü database.db isminde bir veritabanı oluşturmadınız.

İkincisi, siz bir tane öğrenci eklediğiniz için, ogrenciler listesinde sadece 1 eleman var, ona da ogrenciler[0] yazarak ulaşırsınız.

Eğer ogr_adi sütunundaki değere ulaşmak istiyorsanız, kodu aşağıdaki gibi değiştirmeniz gerekiyor.

print(ogrenciler[0][1]) 

ogrenciler[0], ogrenciler[1]… buradaki sayılar satır numarasına karşılık gelir.

ogrenciler[0][0], ogrenciler[1][0]… buradaki sayıların ilki (0 ve 1 sayıları) satır numaraları, yanlarındaki sayılar ise (0, 0) sütun numaralarıdır.

Cevabınız için teşekkür ederim daha sonrasında fark ettim veritabanı dosyalarını farklı kaydettiğimi.