Python SQLite - Pilih Data
Anda dapat mengambil data dari tabel SQLite menggunakan kueri SELCT. Query / statement ini mengembalikan konten dari relasi yang ditentukan (tabel) dalam bentuk tabel dan disebut sebagai result-set.
Sintaksis
Berikut ini adalah sintaks dari pernyataan SELECT di SQLite -
SELECT column1, column2, columnN FROM table_name;
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>
Setelah kueri SELECT mengambil nilai kolom FIRST_NAME, LAST_NAME dan, COUNTRY dari tabel CRICKETERS.
sqlite> SELECT FIRST_NAME, LAST_NAME, COUNTRY FROM CRICKETERS;
Shikhar |Dhawan |India
Jonathan |Trott |SouthAfrica
Kumara |Sangakkara |Srilanka
Virat |Kohli |India
Rohit |Sharma |India
sqlite>
Seperti yang Anda amati, pernyataan SELECT dari database SQLite hanya mengembalikan record dari tabel yang ditentukan. Untuk mendapatkan keluaran yang diformat, Anda perlu menyetelheader, dan mode menggunakan perintah masing-masing sebelum pernyataan SELECT seperti yang ditunjukkan di bawah ini -
sqlite> .header on
sqlite> .mode column
sqlite> SELECT FIRST_NAME, LAST_NAME, COUNTRY FROM CRICKETERS;
First_Name Last_Name Country
---------- -------------------- ----------
Shikhar Dhawan India
Jonathan Trott SouthAfric
Kumara Sangakkara Srilanka
Virat Kohli India
Rohit Sharma India
sqlite>
Jika Anda ingin mengambil semua kolom dari setiap record, Anda perlu mengganti nama kolom dengan "*" seperti yang ditunjukkan di bawah ini -
sqlite> .header on
sqlite> .mode column
sqlite> SELECT * FROM CRICKETERS;
First_Name Last_Name Age Place_Of_Birth Country
---------- ---------- ---------- -------------- ----------
Shikhar Dhawan 33 Delhi India
Jonathan Trott 38 CapeTown SouthAfric
Kumara Sangakkara 41 Matale Srilanka
Virat Kohli 30 Delhi India
Rohit Sharma 32 Nagpur India
sqlite>
Dalam SQLite secara default lebar kolom adalah 10 nilai-nilai luar ini lebar yang cincang (mengamati kolom negara 2 nd baris dalam tabel di atas). Anda dapat mengatur lebar setiap kolom ke nilai yang dibutuhkan menggunakan.width perintah, sebelum mengambil isi tabel seperti yang ditunjukkan di bawah ini -
sqlite> .width 10, 10, 4, 10, 13
sqlite> SELECT * FROM CRICKETERS;
First_Name Last_Name Age Place_Of_B Country
---------- ---------- ---- ---------- -------------
Shikhar Dhawan 33 Delhi India
Jonathan Trott 38 CapeTown SouthAfrica
Kumara Sangakkara 41 Matale Srilanka
Virat Kohli 30 Delhi India
Rohit Sharma 32 Nagpur India
sqlite>
Mengambil data menggunakan python
Operasi BACA pada database apa pun berarti mengambil beberapa informasi berguna dari database. Anda dapat mengambil data dari MYSQL menggunakan metode fetch () yang disediakan oleh modul python sqlite.
Kelas sqlite3.Cursor menyediakan tiga metode yaitu fetchall (), fetchmany () dan, fetchone () di mana,
Metode fetchall () mengambil semua baris dalam kumpulan hasil kueri dan mengembalikannya sebagai daftar tupel. (Jika kita menjalankan ini setelah mengambil beberapa baris, ia mengembalikan yang tersisa).
Metode fetchone () mengambil baris berikutnya dalam hasil kueri dan mengembalikannya sebagai tupel.
Metode fetchmany () mirip dengan fetchone () tetapi, metode ini mengambil kumpulan baris berikutnya dalam kumpulan hasil kueri, bukan satu baris.
Note - Kumpulan hasil adalah objek yang dikembalikan saat objek kursor digunakan untuk membuat kueri tabel.
Contoh
Contoh berikut mengambil semua baris dari tabel EMPLOYEE menggunakan query SELECT dan dari hasil yang diperoleh awalnya ditetapkan, kita mengambil baris pertama menggunakan metode fetchone () dan kemudian mengambil baris yang tersisa menggunakan metode fetchall ().
Program Python berikut menunjukkan bagaimana mengambil dan menampilkan record dari tabel COMPANY yang dibuat pada contoh di atas.
import sqlite3
#Connecting to sqlite
conn = sqlite3.connect('example.db')
#Creating a cursor object using the cursor() method
cursor = conn.cursor()
#Retrieving data
cursor.execute('''SELECT * from EMPLOYEE''')
#Fetching 1st row from the table
result = cursor.fetchone();
print(result)
#Fetching 1st row from the table
result = cursor.fetchall();
print(result)
#Commit your changes in the database
conn.commit()
#Closing the connection
conn.close()
Keluaran
('Ramya', 'Rama priya', 27, 'F', 9000.0)
[('Vinay', 'Battacharya', 20, 'M', 6000.0),
('Sharukh', 'Sheik', 25, 'M', 8300.0),
('Sarmista', 'Sharma', 26, 'F', 10000.0),
('Tripthi', 'Mishra', 24, 'F', 6000.0)
]