Python SQLite - Klausa Dimana

Jika Anda ingin mengambil, menghapus atau, memperbarui baris tertentu dari tabel di SQLite, Anda perlu menggunakan klausa where untuk menentukan kondisi guna memfilter baris tabel untuk operasi tersebut.

Misalnya, jika Anda memiliki pernyataan SELECT dengan klausa where, hanya baris yang memenuhi kondisi yang ditentukan yang akan diambil.

Sintaksis

Berikut ini adalah sintaks klausa WHERE di SQLite -

SELECT column1, column2, columnN
FROM table_name
WHERE [search_condition]

Anda dapat menentukan kondisi_penelusuran menggunakan perbandingan atau operator logika. like>, <, =, LIKE, NOT, dll. Contoh berikut akan membuat konsep ini menjadi jelas.

Contoh

Asumsikan kita telah membuat tabel dengan nama CRICKETERS menggunakan query berikut -

sqlite> CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Age int,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);
sqlite>

Dan jika kita telah memasukkan 5 record ke dalamnya menggunakan pernyataan INSERT sebagai -

sqlite> insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
sqlite> insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
sqlite> insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
sqlite>

Mengikuti pernyataan SELECT mengambil catatan yang usianya lebih dari 35 -

sqlite> SELECT * FROM CRICKETERS WHERE AGE > 35;
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   -----------
Jonathan     Trott        38     CapeTown     SouthAfrica
Kumara       Sangakkara   41     Matale       Srilanka
sqlite>

Dimana Klausul Menggunakan Python

Objek / kelas Cursor berisi semua metode untuk mengeksekusi kueri dan mengambil data, dll. Metode kursor dari kelas koneksi mengembalikan objek kursor.

Oleh karena itu, untuk membuat tabel dalam database SQLite menggunakan python -

  • Buat koneksi dengan database menggunakan metode connect ().

  • Buat objek kursor dengan menjalankan metode cursor () pada objek koneksi yang dibuat di atas.

  • Sekarang jalankan pernyataan CREATE TABLE menggunakan metode execute () dari kelas Cursor.

Contoh

Contoh berikut membuat tabel bernama Karyawan dan mengisinya. Kemudian menggunakan klausa where, ia mengambil rekaman dengan nilai usia kurang dari 23.

import sqlite3
#Connecting to sqlite
conn = sqlite3.connect('example.db')

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
sql = '''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
)'''
cursor.execute(sql)

#Populating the table
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Ramya', 'Rama priya', 27, 'F', 9000)''')
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Vinay', 'Battacharya', 20, 'M', 6000)''')
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Sharukh', 'Sheik', 25, 'M', 8300)''')
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Sarmista', 'Sharma', 26, 'F', 10000)''')
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Tripthi', 'Mishra', 24, 'F', 6000)''')

#Retrieving specific records using the where clause
cursor.execute("SELECT * from EMPLOYEE WHERE AGE <23")

print(cursor.fetchall())

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Keluaran

[('Vinay', 'Battacharya', 20, 'M', 6000.0)]