Python SQLite - Panduan Cepat

SQLite3 dapat diintegrasikan dengan Python menggunakan modul sqlite3 yang ditulis oleh Gerhard Haring. Ini menyediakan antarmuka SQL yang sesuai dengan spesifikasi DB-API 2.0 yang dijelaskan oleh PEP 249. Anda tidak perlu menginstal modul ini secara terpisah karena modul ini dikirimkan secara default bersama dengan Python versi 2.5.x dan seterusnya.

Untuk menggunakan modul sqlite3, Anda harus terlebih dahulu membuat objek koneksi yang mewakili database dan kemudian secara opsional Anda dapat membuat objek kursor, yang akan membantu Anda dalam menjalankan semua pernyataan SQL.

API Modul Python SQLite3

Berikut adalah rutinitas modul sqlite3 yang penting, yang dapat mencukupi kebutuhan Anda untuk bekerja dengan database SQLite dari program Python Anda. Jika Anda mencari aplikasi yang lebih canggih, Anda dapat melihat dokumentasi resmi modul Python sqlite3.

Sr.No. API & Deskripsi
1

sqlite3.connect(database [,timeout ,other optional arguments])

API ini membuka koneksi ke file database SQLite. Anda dapat menggunakan ": memory:" untuk membuka koneksi database ke database yang berada di RAM, bukan di disk. Jika database berhasil dibuka, itu mengembalikan objek koneksi.

2

connection.cursor([cursorClass])

Rutinitas ini membuat kursor yang akan digunakan di seluruh pemrograman database Anda dengan Python. Metode ini menerima satu parameter cursorClass opsional. Jika disediakan, ini harus berupa kelas kursor kustom yang memperluas sqlite3.Cursor.

3

cursor.execute(sql [, optional parameters])

Rutinitas ini menjalankan pernyataan SQL. Pernyataan SQL dapat diparameterisasi (yaitu placeholder, bukan literal SQL). Modul sqlite3 mendukung dua jenis placeholder: tanda tanya dan placeholder bernama (gaya bernama).

For example - cursor.execute ("masukkan ke dalam nilai orang (?,?)", (Siapa, umur))

4

connection.execute(sql [, optional parameters])

Rutin ini adalah jalan pintas dari metode eksekusi di atas yang disediakan oleh objek kursor dan ia membuat objek kursor perantara dengan memanggil metode kursor, kemudian memanggil metode eksekusi kursor dengan parameter yang diberikan.

5

cursor.executemany(sql, seq_of_parameters)

Rutin ini mengeksekusi perintah SQL terhadap semua urutan parameter atau pemetaan yang ditemukan di urutan sql.

6

connection.executemany(sql[, parameters])

Rutin ini adalah jalan pintas yang membuat objek kursor perantara dengan memanggil metode kursor, kemudian memanggil metode eksekusi cursor.s dengan parameter yang diberikan.

7

cursor.executescript(sql_script)

Rutinitas ini mengeksekusi beberapa pernyataan SQL sekaligus yang disediakan dalam bentuk script. Ini mengeluarkan pernyataan COMMIT terlebih dahulu, kemudian mengeksekusi skrip SQL yang didapatnya sebagai parameter. Semua pernyataan SQL harus dipisahkan dengan titik koma (;).

8

connection.executescript(sql_script)

Rutin ini adalah pintasan yang membuat objek kursor perantara dengan memanggil metode kursor, kemudian memanggil metode skrip eksekusi kursor dengan parameter yang diberikan.

9

connection.total_changes()

Rutinitas ini mengembalikan jumlah baris database yang telah dimodifikasi, disisipkan, atau dihapus sejak koneksi database dibuka.

10

connection.commit()

Metode ini melakukan transaksi saat ini. Jika Anda tidak memanggil metode ini, apa pun yang Anda lakukan sejak panggilan terakhir ke commit () tidak akan terlihat dari koneksi database lain.

11

connection.rollback()

Metode ini mengembalikan setiap perubahan ke database sejak panggilan terakhir ke commit ().

12

connection.close()

Metode ini menutup koneksi database. Perhatikan bahwa ini tidak secara otomatis memanggil commit (). Jika Anda baru saja menutup koneksi database tanpa memanggil commit () terlebih dahulu, perubahan Anda akan hilang!

13

cursor.fetchone()

Metode ini mengambil baris berikutnya dari kumpulan hasil kueri, mengembalikan satu urutan, atau Tidak ada saat tidak ada lagi data yang tersedia.

14

cursor.fetchmany([size = cursor.arraysize])

Rutinitas ini mengambil kumpulan baris berikutnya dari hasil kueri, mengembalikan daftar. Daftar kosong dikembalikan ketika tidak ada lagi baris yang tersedia. Metode ini mencoba mengambil baris sebanyak yang ditunjukkan oleh parameter ukuran.

15

cursor.fetchall()

Rutinitas ini mengambil semua baris (tersisa) dari hasil kueri, mengembalikan daftar. Daftar kosong dikembalikan jika tidak ada baris yang tersedia.

Untuk membuat koneksi dengan SQLite Open command prompt, telusuri lokasi tempat Anda menginstal SQLite dan cukup jalankan perintah sqlite3 seperti yang ditunjukkan di bawah ini -

Membangun Koneksi Menggunakan Python

Anda dapat berkomunikasi dengan database SQLite2 menggunakan modul python SQLite3. Untuk melakukannya, pertama-tama Anda perlu membuat koneksi (membuat objek koneksi).

Untuk membuat koneksi dengan database SQLite3 menggunakan python, Anda perlu -

  • Impor modul sqlite3 menggunakan pernyataan import.

  • Metode connect () menerima nama database yang Anda perlukan untuk terhubung sebagai parameter dan, mengembalikan objek Connection.

Contoh

import sqlite3
conn = sqlite3.connect('example.db')

Keluaran

print("Connection established ..........")

Menggunakan pernyataan SQLite CREATE TABLE Anda dapat membuat tabel di database.

Sintaksis

Berikut sintaks untuk membuat tabel di database SQLite -

CREATE TABLE database_name.table_name(
   column1 datatype PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype
);

Contoh

Mengikuti kueri / pernyataan SQLite membuat tabel dengan nama CRICKETERS dalam database SQLite -

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

Mari kita buat satu lagi tabel OdiStats yang menjelaskan statistik kriket Satu hari dari setiap pemain di tabel CRICKETERS.

sqlite> CREATE TABLE ODIStats (
   First_Name VARCHAR(255),
   Matches INT,
   Runs INT,
   AVG FLOAT,
   Centuries INT,
   HalfCenturies INT 
);
sqlite>

Anda bisa mendapatkan daftar tabel dalam database di database SQLite menggunakan .tablesperintah. Setelah membuat tabel, jika Anda dapat memverifikasi daftar tabel, Anda dapat mengamati tabel yang baru dibuat di dalamnya sebagai -

sqlite> . tables
CRICKETERS ODIStats
sqlite>

Membuat Tabel Menggunakan Python

Objek Cursor berisi semua metode untuk mengeksekusi quires 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

Mengikuti program Python membuat tabel bernama Karyawan di SQLite3 -

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")
#Creating table as per requirement
sql ='''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
)'''
cursor.execute(sql)
print("Table created successfully........")

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

#Closing the connection
conn.close()

Keluaran

Table created successfully........

Anda dapat menambahkan baris baru ke tabel SQLite yang ada menggunakan pernyataan INSERT INTO. Dalam hal ini, Anda perlu menentukan nama tabel, nama kolom, dan nilai (dalam urutan yang sama seperti nama kolom).

Sintaksis

Berikut ini adalah sintaks yang direkomendasikan dari pernyataan INSERT -

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
   VALUES (value1, value2, value3,...valueN);

Di mana, kolom1, kolom2, kolom3, .. adalah nama-nama kolom dari tabel dan nilai1, nilai2, nilai3, ... adalah nilai yang perlu Anda masukkan ke dalam tabel.

Contoh

Asumsikan kita telah membuat tabel dengan nama CRICKETERS menggunakan pernyataan CREATE TABLE seperti yang ditunjukkan di bawah ini -

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

Pernyataan PostgreSQL berikut menyisipkan baris di tabel yang dibuat di atas.

sqlite> insert into CRICKETERS (First_Name, Last_Name, Age, Place_Of_Birth, Country) 
   values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
sqlite>

Saat memasukkan record menggunakan pernyataan INSERT INTO , jika Anda melewatkan nama kolom apa pun, record ini akan disisipkan meninggalkan ruang kosong di kolom yang telah Anda lewati.

sqlite> insert into CRICKETERS (First_Name, Last_Name, Country) 
   values ('Jonathan', 'Trott', 'SouthAfrica');
sqlite>

Anda juga dapat menyisipkan rekaman ke dalam tabel tanpa menentukan nama kolom, jika urutan nilai yang Anda teruskan sama dengan masing-masing nama kolom dalam tabel.

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 memasukkan record ke dalam tabel, Anda dapat memverifikasi isinya menggunakan pernyataan SELECT seperti yang ditunjukkan di bawah ini -

sqlite> select * from cricketers;
Shikhar  |Dhawan     | 33 | Delhi | India
Jonathan |Trott      |    |       | SouthAfrica
Kumara   |Sangakkara | 41 | Matale| Srilanka
Virat    |Kohli      | 30 | Delhi | India
Rohit    |Sharma     | 32 | Nagpur| India
sqlite>

Memasukkan Data Menggunakan Python

Untuk menambahkan catatan ke tabel yang ada di database SQLite -

  • Impor paket sqlite3.

  • Buat objek koneksi menggunakan metode connect () dengan meneruskan nama database sebagai parameter untuknya.

  • Itu cursor()metode mengembalikan objek kursor yang dapat digunakan untuk berkomunikasi dengan SQLite3. Buat objek kursor dengan memanggil objek cursor () pada objek Connection (di atas dibuat).

  • Kemudian, aktifkan metode execute () pada objek kursor, dengan meneruskan pernyataan INSERT sebagai parameter padanya.

Contoh

Contoh python berikut menyisipkan record ke dalam tabel bernama EMPLOYEE -

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

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

#Preparing SQL queries to INSERT a record into the database.
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)''')

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

print("Records inserted........")

# Closing the connection
conn.close()

Keluaran

Records inserted........

Anda bisa mengambil data dari tabel SQLite menggunakan kueri SELECT. 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   rilanka
Virat        Kohli        India
Rohit        Sharma       India

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)
]

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)]

Saat mengambil data menggunakan kueri SELECT, Anda akan mendapatkan record dalam urutan yang sama dengan yang Anda masukkan.

Anda dapat mengurutkan hasil dalam urutan yang diinginkan (naik atau turun) menggunakan Order Byayat. Secara default, klausa ini mengurutkan hasil dalam urutan menaik, jika Anda perlu mengaturnya dalam urutan menurun Anda perlu menggunakan "DESC" secara eksplisit.

Sintaksis

Berikut ini adalah sintaks klausa ORDER BY di SQLite.

SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

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 baris dari tabel CRICKETERS dalam urutan menaik dari usianya -

sqlite> SELECT * FROM CRICKETERS ORDER BY AGE;
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   -----------
Virat        Kohli        30     Delhi        India
Rohit        Sharma       32     Nagpur       India
Shikhar      Dhawan       33     Delhi        India
Jonathan     Trott        38     CapeTown     SouthAfrica
Kumara       Sangakkara   41     Matale       Srilanka
sqlite>

Anda bisa menggunakan lebih dari satu kolom untuk mengurutkan rekaman tabel. Pernyataan SELECT berikut akan mengurutkan data dari tabel CRICKETERS berdasarkan kolom AGE dan FIRST_NAME .

sqlite> SELECT * FROM CRICKETERS ORDER BY AGE, FIRST_NAME;
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   -------------
Virat        Kohli        30     Delhi        India
Rohit        Sharma       32     Nagpur       India
Shikhar      Dhawan       33     Delhi        India
Jonathan     Trott        38     CapeTown     SouthAfrica
Kumara       Sangakkara   41     Matale       Srilanka
sqlite>

Secara default, file ORDER BY klausa mengurutkan rekaman tabel dalam urutan menaik Anda dapat mengatur hasil dalam urutan menurun menggunakan DESC sebagai -

sqlite> SELECT * FROM CRICKETERS ORDER BY AGE DESC;
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   -------------
Kumara       Sangakkara   41     Matale       Srilanka
Jonathan     Trott        38     CapeTown     SouthAfrica
Shikhar      Dhawan       33     Delhi        India
Rohit        Sharma       32     Nagpur       India
Virat        Kohli        30     Delhi        India
sqlite>

ORDER BY Clause Menggunakan Python

Untuk mengambil konten tabel dalam urutan tertentu, panggil metode execute () pada objek kursor dan, teruskan pernyataan SELECT bersama dengan klausa ORDER BY, sebagai parameter untuknya.

Contoh

Dalam contoh berikut, kami membuat tabel dengan nama dan Karyawan, mengisinya, dan mengambil kembali rekamannya dalam urutan (menaik) sesuai usianya, menggunakan klausa ORDER BY.

import psycopg2
#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

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

#Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
#Creating a table
sql = '''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT, SEX CHAR(1),
   INCOME INT,
   CONTACT INT
)'''
cursor.execute(sql)
#Populating the table
#Populating the table
cursor.execute(
   '''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Ramya', 'Rama priya', 27, 'F', 9000),
   ('Vinay', 'Battacharya', 20, 'M', 6000), 
   ('Sharukh', 'Sheik', 25, 'M', 8300), 
   ('Sarmista', 'Sharma', 26, 'F', 10000),
   ('Tripthi', 'Mishra', 24, 'F', 6000)''')
conn.commit()

#Retrieving specific records using the ORDER BY clause
cursor.execute("SELECT * from EMPLOYEE ORDER BY AGE")

print(cursor.fetchall())

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

#Closing the connection
conn.close()

Keluaran

[
   ('Vinay', 'Battacharya', 20, 'M', 6000, None),
   ('Tripthi', 'Mishra', 24, 'F', 6000, None),
   ('Sharukh', 'Sheik', 25, 'M', 8300, None),
   ('Sarmista', 'Sharma', 26, 'F', 10000, None),
   ('Ramya', 'Rama priya', 27, 'F', 9000, None)
]

Operasi UPDATE pada database apa pun menyiratkan pengubahan nilai dari satu atau lebih rekaman tabel, yang sudah tersedia dalam database. Anda dapat memperbarui nilai catatan yang ada di SQLite menggunakan pernyataan UPDATE.

Untuk memperbarui baris tertentu, Anda perlu menggunakan klausa WHERE bersamanya.

Sintaksis

Berikut ini adalah sintaks dari pernyataan UPDATE di SQLite -

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

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>

Pernyataan Mengikuti mengubah usia pemain kriket, yang nama depannya adalah Shikhar -

sqlite> UPDATE CRICKETERS SET AGE = 45 WHERE FIRST_NAME = 'Shikhar' ;
sqlite>

Jika Anda mengambil rekaman yang FIRST_NAME-nya adalah Shikhar, Anda mengamati bahwa nilai usia telah diubah menjadi 45 -

sqlite> SELECT * FROM CRICKETERS WHERE FIRST_NAME = 'Shikhar';
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   --------
Shikhar      Dhawan       45     Delhi        India
sqlite>

Jika Anda belum pernah menggunakan nilai klausa WHERE dari semua catatan akan diperbarui. Mengikuti pernyataan UPDATE meningkatkan usia semua catatan di tabel CRICKETERS sebesar 1 -

sqlite> UPDATE CRICKETERS SET AGE = AGE+1;
sqlite>

Jika Anda mengambil konten tabel menggunakan perintah SELECT, Anda dapat melihat nilai yang diperbarui sebagai -

sqlite> SELECT * FROM CRICKETERS;
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   -------------
Shikhar      Dhawan       46     Delhi        India
Jonathan     Trott        39     CapeTown     SouthAfrica
Kumara       Sangakkara   42     Matale       Srilanka
Virat        Kohli        31     Delhi        India
Rohit        Sharma       33     Nagpur       India
sqlite>

Memperbarui Record yang Ada Menggunakan Python

Untuk menambahkan catatan ke tabel yang ada di database SQLite -

  • Impor paket sqlite3.

  • Buat objek koneksi menggunakan metode connect () dengan meneruskan nama database sebagai parameter untuknya.

  • Itu cursor()metode mengembalikan objek kursor yang dapat digunakan untuk berkomunikasi dengan SQLite3. Buat objek kursor dengan memanggil objek cursor () pada objek Connection (di atas dibuat).

  • Kemudian, aktifkan metode execute () pada objek kursor, dengan meneruskan pernyataan UPDATE sebagai parameter untuknya.

Contoh

Mengikuti contoh Python, membuat tabel dengan nama EMPLOYEE, memasukkan 5 catatan ke dalamnya dan, menambah usia semua karyawan laki-laki sebanyak 1 -

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")

#Creating table as per requirement
sql ='''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
)'''
cursor.execute(sql)

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

#Fetching all the rows before the update
print("Contents of the Employee table: ")
cursor.execute('''SELECT * from EMPLOYEE''')
print(cursor.fetchall())

#Updating the records
sql = '''UPDATE EMPLOYEE SET AGE=AGE+1 WHERE SEX = 'M' '''
cursor.execute(sql)
print("Table updated...... ")

#Fetching all the rows after the update
print("Contents of the Employee table after the update operation: ")
cursor.execute('''SELECT * from EMPLOYEE''')
print(cursor.fetchall())

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

#Closing the connection
conn.close()

Keluaran

Contents of the Employee table:
[
   ('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)
]
Table updated......
Contents of the Employee table after the update operation:
[
   ('Ramya', 'Rama priya', 27, 'F', 9000.0), 
   ('Vinay', 'Battacharya', 21, 'M', 6000.0), 
   ('Sharukh', 'Sheik', 26, 'M', 8300.0), 
   ('Sarmista', 'Sharma', 26, 'F', 10000.0), 
   ('Tripthi', 'Mishra', 24, 'F', 6000.0)
]

Untuk menghapus rekaman dari tabel SQLite, Anda perlu menggunakan pernyataan DELETE FROM. Untuk menghapus catatan tertentu, Anda perlu menggunakan klausa WHERE bersamanya.

Sintaksis

Berikut ini adalah sintaks dari kueri DELETE di SQLite -

DELETE FROM table_name [WHERE Clause]

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>

Pernyataan berikut menghapus rekor pemain kriket yang memiliki nama belakang 'Sangakkara'.

sqlite> DELETE FROM CRICKETERS WHERE LAST_NAME = 'Sangakkara';
sqlite>

Jika Anda mengambil isi tabel menggunakan pernyataan SELECT, Anda hanya dapat melihat 4 record karena kami telah menghapus satu record.

sqlite> SELECT * FROM CRICKETERS;
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   --------
Shikhar      Dhawan       46     Delhi        India
Jonathan     Trott        39     CapeTown     SouthAfrica
Virat        Kohli        31     Delhi        India
Rohit        Sharma       33     Nagpur       India
sqlite>

Jika Anda menjalankan pernyataan DELETE FROM tanpa klausa WHERE, semua record dari tabel yang ditentukan akan dihapus.

sqlite> DELETE FROM CRICKETERS;
sqlite>

Karena Anda telah menghapus semua record, jika Anda mencoba untuk mengambil isi dari tabel CRICKETERS, dengan menggunakan pernyataan SELECT Anda akan mendapatkan hasil yang kosong seperti yang ditunjukkan di bawah ini -

sqlite> SELECT * FROM CRICKETERS;
sqlite>

Menghapus Data Menggunakan Python

Untuk menambahkan catatan ke tabel yang ada di database SQLite -

  • Impor paket sqlite3.

  • Buat objek koneksi menggunakan metode connect () dengan meneruskan nama database sebagai parameternya.

  • Itu cursor()metode mengembalikan objek kursor yang dapat digunakan untuk berkomunikasi dengan SQLite3. Buat objek kursor dengan memanggil objek cursor () pada objek Connection (di atas dibuat).

  • Kemudian, panggil metode execute () pada objek kursor, dengan meneruskan DELETE pernyataan sebagai parameter untuk itu.

Contoh

Contoh python berikut menghapus record dari tabel EMPLOYEE dengan nilai usia lebih dari 25.

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

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

#Retrieving contents of the table
print("Contents of the table: ")
cursor.execute('''SELECT * from EMPLOYEE''')
print(cursor.fetchall())

#Deleting records
cursor.execute('''DELETE FROM EMPLOYEE WHERE AGE > 25''')

#Retrieving data after delete
print("Contents of the table after delete operation ")
cursor.execute("SELECT * from EMPLOYEE")
print(cursor.fetchall())

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

#Closing the connection
conn.close()

Keluaran

Contents of the table:
[
   ('Ramya', 'Rama priya', 27, 'F', 9000.0), 
   ('Vinay', 'Battacharya', 21, 'M', 6000.0), 
   ('Sharukh', 'Sheik', 26, 'M', 8300.0), 
   ('Sarmista', 'Sharma', 26, 'F', 10000.0), 
   ('Tripthi', 'Mishra', 24, 'F', 6000.0)
]
Contents of the table after delete operation
[
   ('Vinay', 'Battacharya', 21, 'M', 6000.0), 
   ('Tripthi', 'Mishra', 24, 'F', 6000.0)
]

Anda dapat menghapus seluruh tabel menggunakan pernyataan DROP TABLE. Anda hanya perlu menentukan nama tabel yang perlu Anda hapus.

Sintaksis

Berikut ini adalah sintaks dari pernyataan DROP TABLE di PostgreSQL -

DROP TABLE table_name;

Contoh

Asumsikan kita telah membuat dua tabel dengan nama CRICKETERS dan EMPLOYEES 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> CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, 
   SEX CHAR(1), INCOME FLOAT
);
sqlite>

Sekarang jika Anda memverifikasi daftar tabel menggunakan .tables perintah, Anda dapat melihat tabel yang dibuat di atas di dalamnya (daftar) sebagai -

sqlite> .tables
CRICKETERS EMPLOYEE
sqlite>

Pernyataan berikut menghapus tabel bernama Karyawan dari database -

sqlite> DROP table employee;
sqlite>

Karena Anda telah menghapus tabel Karyawan, jika Anda mengambil kembali daftar tabel, Anda hanya dapat mengamati satu tabel di dalamnya.

sqlite> .tables
CRICKETERS
sqlite>

Jika Anda mencoba menghapus tabel Karyawan lagi, karena Anda telah menghapusnya, Anda akan mendapatkan pesan kesalahan "tidak ada tabel seperti itu" seperti yang ditunjukkan di bawah ini -

sqlite> DROP table employee;
Error: no such table: employee
sqlite>

Untuk mengatasi ini, Anda dapat menggunakan klausa IF EXISTS bersama dengan pernyataan DELETE. Ini menghapus tabel jika ada yang lain melompati operasi DELETE.

sqlite> DROP table IF EXISTS employee;
sqlite>

Menjatuhkan Tabel Menggunakan Python

Anda dapat menjatuhkan tabel kapan pun Anda mau, menggunakan pernyataan DROP dari MYSQL, tetapi Anda harus sangat berhati-hati saat menghapus tabel yang ada karena data yang hilang tidak akan dipulihkan setelah menghapus tabel.

Contoh

Untuk menjatuhkan tabel dari database SQLite3 menggunakan python, panggil execute() metode pada objek kursor dan meneruskan pernyataan drop sebagai parameter untuk itu.

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 emp")
print("Table dropped... ")

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

#Closing the connection
conn.close()

Keluaran

Table dropped...

Saat mengambil record jika Anda ingin membatasinya dengan nomor tertentu, Anda dapat melakukannya, menggunakan klausa LIMIT dari SQLite.

Sintaksis

Berikut ini adalah sintaks klausa LIMIT di SQLite -

SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]

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>

Pernyataan berikut mengambil 3 record pertama dari tabel Cricketers menggunakan klausa LIMIT -

sqlite> SELECT * FROM CRICKETERS LIMIT 3;
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   -------------
Shikhar      Dhawan       33     Delhi        India
Jonathan     Trott        38     CapeTown     SouthAfrica
Kumara       Sangakkara   41     Matale       Srilanka
sqlite>

Jika Anda perlu membatasi record mulai dari record ke-n (bukan 1 st ), Anda dapat melakukannya, menggunakan OFFSET bersama dengan LIMIT.

sqlite> SELECT * FROM CRICKETERS LIMIT 3 OFFSET 2;
First_Name   Last_Name    Age    Place_Of_B   Country
----------   ----------   ----   ----------   --------
Kumara       Sangakkara   41     Matale       Srilanka
Virat        Kohli        30     Delhi        India
Rohit        Sharma       32     Nagpur       India
sqlite>

BATAS Klausa Menggunakan Python

Jika Anda Memanggil metode execute () pada objek kursor dengan meneruskan kueri SELECT bersama dengan klausa LIMIT, Anda bisa mengambil jumlah record yang diperlukan.

Contoh

Contoh python berikut mengambil dua record pertama dari tabel EMPLOYEE menggunakan klausa LIMIT.

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

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

#Retrieving single row
sql = '''SELECT * from EMPLOYEE LIMIT 3'''

#Executing the query
cursor.execute(sql)

#Fetching the data
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)
]

Saat Anda telah membagi data dalam dua tabel, Anda dapat mengambil rekaman gabungan dari dua tabel ini menggunakan Gabungan.

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>

Mari kita buat satu lagi tabel OdiStats yang menjelaskan statistik kriket Satu hari dari setiap pemain di tabel CRICKETERS.

sqlite> CREATE TABLE ODIStats (
   First_Name VARCHAR(255),
   Matches INT,
   Runs INT,
   AVG FLOAT,
   Centuries INT,
   HalfCenturies INT
);
sqlite>

Pernyataan berikut mengambil data yang menggabungkan nilai-nilai dalam dua tabel ini -

sqlite> SELECT
   Cricketers.First_Name, Cricketers.Last_Name, Cricketers.Country,
   OdiStats.matches, OdiStats.runs, OdiStats.centuries, OdiStats.halfcenturies
   from Cricketers INNER JOIN OdiStats ON Cricketers.First_Name = OdiStats.First_Name;
First_Name  Last_Name   Country  Matches  Runs   Centuries   HalfCenturies
----------  ----------  -------  -------  ----   ---------   -------------- 
Shikhar     Dhawan      Indi     133      5518   17          27
Jonathan    Trott       Sout     68       2819   4           22
Kumara      Sangakkara  Sril     404      14234  25          93
Virat       Kohli       Indi     239      11520  43          54
Rohit       Sharma      Indi     218      8686   24          42
sqlite>

Bergabunglah dengan Klausul Menggunakan Python

Mengikuti contoh SQLite, mendemonstrasikan klausa JOIN menggunakan python -

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

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

#Retrieving data
sql = '''SELECT * from EMP INNER JOIN CONTACT ON EMP.CONTACT = CONTACT.ID'''

#Executing the query
cursor.execute(sql)

#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, 101, 101, '[email protected]', 'Hyderabad'), 
   ('Vinay', 'Battacharya', 20, 'M', 6000.0, 102, 102,'[email protected]', 'Vishakhapatnam'), 
   ('Sharukh', 'Sheik', 25, 'M', 8300.0, 103, 103, '[email protected]', 'Pune'), 
   ('Sarmista', 'Sharma', 26, 'F', 10000.0, 104, 104, '[email protected]', 'Mumbai')
]

Kelas sqlite3.Cursor adalah instance yang digunakan untuk memanggil metode yang menjalankan pernyataan SQLite, mengambil data dari set hasil kueri. Anda dapat membuat objek Cursor menggunakan metode cursor () dari objek / kelas Connection.

Contoh

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

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

Metode

Berikut adalah berbagai metode yang disediakan oleh kelas / objek Cursor.

metode Deskripsi
menjalankan()

Rutinitas ini menjalankan pernyataan SQL. Pernyataan SQL dapat diparameterisasi (yaitu, placeholder, bukan literal SQL). Modul psycopg2 mendukung placeholder menggunakan tanda% s

Misalnya: cursor.execute ("masukkan ke dalam nilai orang (% s,% s)", (siapa, umur))

executemany ()

Rutin ini mengeksekusi perintah SQL terhadap semua urutan parameter atau pemetaan yang ditemukan di urutan sql.

fetchone ()

Metode ini mengambil baris berikutnya dari kumpulan hasil kueri, mengembalikan satu urutan, atau Tidak ada saat tidak ada lagi data yang tersedia.

fetchmany ()

Rutinitas ini mengambil kumpulan baris berikutnya dari hasil kueri, mengembalikan daftar. Daftar kosong dikembalikan ketika tidak ada lagi baris yang tersedia. Metode ini mencoba mengambil baris sebanyak yang ditunjukkan oleh parameter ukuran.

fetchall ()

Rutinitas ini mengambil semua baris (tersisa) dari hasil kueri, mengembalikan daftar. Daftar kosong dikembalikan jika tidak ada baris yang tersedia.

Properti

Berikut ini adalah properti dari kelas Cursor -

metode Deskripsi
arraySize

Ini adalah properti baca / tulis Anda bisa menyetel jumlah baris yang dikembalikan oleh metode fetchmany ().

deskripsi

Ini adalah properti hanya baca yang mengembalikan daftar yang berisi deskripsi kolom dalam kumpulan hasil.

lastrowid

Ini adalah properti hanya baca, jika ada kolom yang bertambah otomatis dalam tabel, ini mengembalikan nilai yang dihasilkan untuk kolom itu di operasi INSERT atau, UPDATE terakhir.

rowcount

Ini mengembalikan jumlah baris yang dikembalikan / diperbarui dalam kasus operasi SELECT dan UPDATE.

koneksi

Atribut hanya-baca ini menyediakan Koneksi database SQLite yang digunakan oleh objek Cursor.