Kursor mengeksekusi beberapa permintaan python

Dalam SQLite menggunakan metode executionscript() , kita dapat mengeksekusi beberapa pernyataan/kueri SQL sekaligus. Metode dasar execution() memungkinkan kita untuk hanya menerima satu kueri dalam satu waktu, jadi ketika Anda perlu mengeksekusi beberapa kueri, kita perlu mengaturnya seperti skrip dan meneruskan skrip itu ke metode eksekusiscript()

executionscript() dapat mengeksekusi serangkaian beberapa kueri SQL/SQLite secara berurutan. Saat operasi executionscript() sedang berjalan, utas/operasi lain tidak dapat mengakses database hingga executionscript() telah selesai mengeksekusi semua kuerinya. Jika kita perlu menyediakan beberapa parameter runtime untuk setiap kueri di executionscript(), kita tidak dapat menambahkan parameter eksternal saat runtime karena metode executionscript() tidak menerima parameter apa pun untuk kueri di runtime sehingga Anda perlu memberikan satu set . Dalam eksekusi metode executionscript(), pertama, ia mengeluarkan pernyataan COMMIT dan kemudian mengeksekusi skrip SQL/SQLite

Sintaksis

cursor_obj.executescript(""" 
    SQLite Statement/Query . . . 1
    SQLite Statement/Query . . . 2
    SQLite Statement/Query . . . 3
    .
    .
    .
    SQLite Statement/Query . . . n 
""")

Kode di bawah ini menunjukkan cara menjalankan beberapa pernyataan/kueri SQLite dengan python

Python3




import sqlite3 

 

 

# make the database connection and cursor object

connection= sqlite3.connect("CollegeData.db"import0

import1= import3

 

import_5

import_6

import_7

import8import9

sqlite3 0sqlite3 1

sqlite3 0sqlite3 3

 

sqlite3 0sqlite3 6

sqlite3 0sqlite3 8

sqlite3 0 0

sqlite3 0 2

 3import0

 

 6

 7 8 9import0

 1 2 3

 7 5

 

 _7

 8

import8 3

sqlite3 0# make the database connection and cursor object2

sqlite3 0# make the database connection and cursor object4

sqlite3 0# make the database connection and cursor object6

sqlite3 0# make the database connection and cursor object8

 3import0

 

connection_2

 7 8connection5import0

 1 2 3

 7 5

 

=3

=4

=5

=6

Keluaran

Data tabel

[(1, 'IT', 850), (2, 'COMP', 840), (3, 'SIPIL', 500), (4, 'E&TC', 650)]

Tabel data setelah pembaruan

[(1, 'IT', 900), (2, 'COMP', 890), (3, 'SIPIL', 660), (4, 'E&TC', 790)]

Kode di atas mengeksekusi beberapa pernyataan SQLite sekaligus. Metode executionscript() pertama dalam kode membuat dan menyisipkan data ke dalam tabel dalam satu contoh. Dan kemudian metode executionscript() kedua memperbarui semua catatan dalam satu contoh. Dengan cara ini, sekumpulan kueri dapat dieksekusi di SQLite menggunakan executionscript()

Saya pikir Anda perlu merevisi persyaratan Anda. Mengakses database melalui API seperti pymysql menggunakan driver ODBC dan pola aksesnya pada dasarnya berbeda dari menggunakan klien mySQL

Cara umum melakukan sesuatu dalam akses terprogram adalah dengan

1) membuat koneksi database
2) dari koneksi dapatkan kursor
3) buat satu kueri dan berikan ke kursor. menjalankan()
4) gunakan salah satu metode pengambilan kursor untuk menyimpan hasil dalam variabel

ulangi 3) dan 4) untuk setiap kueri

E. g. , sesuatu seperti

samb = pymysql. koneksi. Koneksi(. )
mengutuk = samb. kursor(kursor = DictCursor)
query1 = """PILIH * DARI pengguna MANA id > 100"""
baris1 = mengutuk. jalankan (kueri1)
jika baris1 > 0
hasil1 = kutukan. ambil semua()
query2 = """PILIH * DARI tempat MANA country_code = 'USA'"""
baris2 = mengutuk. jalankan (kueri2)
jika baris2 > 0
hasil2 = mengutuk. ambil semua()

dan seterusnya. Metode execution() mengembalikan jumlah baris yang cocok dengan kueri dan fetchall() mengembalikan semua baris. Perhatikan bahwa tidak apa-apa untuk menggunakan kembali kursor yang sama berulang kali setelah Anda mengambil hasilnya. Melakukannya sebelum mengambil akan menghapus data sebelumnya

Setelah kode ini dijalankan, hasil dari setiap kueri akan berada dalam daftar dicts, satu dict per baris dari hasil dan di setiap baris dict, kuncinya adalah kolom dan nilai nilai baris untuk kolom tersebut. Sesuatu seperti [{'nama'. 'Suzy', 'namaku'. 'Smith', 'id. 101'. }, {. },. ]

Adapun "beberapa baris", beberapa tabel ditanyakan menggunakan mana saja yang Anda sukai dari kueri dalam atau GABUNG, keduanya setara. Jika Anda melakukan sesuatu di mySQL yang terlihat seperti "query1; query2;"

Bagaimana cara menjalankan beberapa kueri SQL dengan Python?

Cara sederhananya adalah mengeksekusi kueri dan menggunakan fetchall() . Ini sudah dibahas di SET 1. Ini adalah metode praktis untuk mengeksekusi beberapa pernyataan SQL sekaligus. Itu mengeksekusi skrip SQL yang didapatnya sebagai parameter.

Bagaimana cara menjalankan beberapa kueri sekaligus?

Untuk menjalankan kueri dengan beberapa pernyataan, pastikan bahwa setiap pernyataan dipisahkan oleh titik koma; . Saat variabel disetel ke nol, semua pernyataan setelah titik koma pertama diabaikan. . When the variable is set to zero, all statements after the first semicolon are ignored.

Apa yang dilakukan kursor kembali dengan Python?

execute() mengembalikan sebuah iterator jika multi bernilai True . Dalam Python, tuple yang berisi satu nilai harus menyertakan koma.

Bagaimana Anda menggunakan kursor mengeksekusi di Python?

Kursor adalah objek yang membantu mengeksekusi kueri dan mengambil catatan dari database. Kursor memainkan peran yang sangat penting dalam mengeksekusi kueri. . Jenis Pengembalian