Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Fungsi eksekusi mana yang harus saya gunakan di konektor MySQL/c++?

Masing-masing dari ketiga fungsi tersebut memiliki kegunaan tertentu, yang dapat ditebak dari tipe kembaliannya.

jalankan

Fungsi ini adalah yang paling umum. Ini mengembalikan nilai boolean, yang nilainya benar jika kueri mengembalikan beberapa hasil, atau salah jika kueri tidak mengembalikan apa pun atau jumlah pembaruan.

Ini adalah fungsi yang ingin Anda gunakan jika Anda hanya ingin menggunakannya seumum mungkin.

Jika mengembalikan true, Anda akan ingin menggunakan ResultSet * getResultSet() untuk mendapatkan hasilnya.
Jika mengembalikan false, Anda dapat menggunakan uint64_t getUpdateCount() untuk mendapatkan jumlah baris yang diperbarui.

executeQuery

Fungsi ini secara langsung mengembalikan ResultSet yang berguna untuk SELECT pernyataan, dan menganggap memang ada hasil yang akan dikembalikan.

Ini sama dengan memanggil execute() diikuti oleh getResultSet() .

Anda akan ingin menggunakan fungsi ini ketika Anda tahu Anda menggunakan kode SQL yang mengembalikan hasil seperti baris.

eksekusi Pembaruan

Fungsi ini mengembalikan nilai integer yang berguna untuk UPDATE pernyataan dan menganggap ada jumlah pembaruan yang akan dikembalikan.

Ini sama dengan memanggil execute() diikuti oleh getUpdateCount() , meskipun, untuk beberapa alasan, jenis pengembaliannya berbeda (int vs uint64_t).

Ini adalah fungsi yang digunakan saat mengeksekusi pernyataan SQL yang mengubah data dan Anda perlu mengetahui apakah beberapa data telah dimodifikasi.

Jadi,

yang bersatu sebenarnya execute , yang dapat digunakan untuk mengeksekusi SQL arbitrer dan menangani hasilnya dengan tepat, sedangkan dua lainnya adalah pembungkus yang nyaman saat Anda mengetahui jenis kueri yang Anda jalankan.

Dalam kasus Anda, karena Anda menulis pembungkus di sekitar bahasa SQL, masing-masing fungsi Anda mengetahui jenis pernyataan yang akan dieksekusi, jadi penggunaan fungsi praktis akan memungkinkan Anda untuk menulis kode yang lebih pendek.

Misalnya:

insert(), update(), delete() ---> executeUpdate()
select()                     ---> executeQuery()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL pilih 1 baris dari gabungan dalam

  2. konversi stempel waktu mysql ke mktime

  3. MySQL Workbench tidak menampilkan hasil kueri

  4. MySQL beberapa kunci asing

  5. Mempercepat kueri GROUP BY, SUM dan AVG