Go

Database/SQL

Kuasai akses database SQL di Go dengan package database/sql: koneksi, query, transaksi, prepared statements, dan pengelolaan connection pool.

22 pertanyaan wawancaraยท
Mid-Level
1

Apa perbedaan utama antara DB.Query dan DB.Exec?

Jawaban

DB.Query digunakan untuk menjalankan kueri SELECT yang mengembalikan baris data, sedangkan DB.Exec digunakan untuk menjalankan perintah SQL yang tidak mengembalikan hasil (INSERT, UPDATE, DELETE). Query mengembalikan objek Rows yang harus diiterasi dan ditutup dengan rows.Close(), sementara Exec mengembalikan Result yang berisi jumlah baris yang terpengaruh dan ID terakhir yang dimasukkan.

2

Mengapa penting untuk menutup objek Rows setelah sebuah kueri?

Jawaban

Menutup Rows dengan rows.Close() melepaskan sumber daya koneksi database, sehingga koneksi dapat kembali ke pool. Tanpa menutupnya, koneksi tetap sibuk dan pool dapat habis, menyebabkan pemblokiran. Disarankan menggunakan defer rows.Close() segera setelah memeriksa error dari Query untuk menjamin penutupan bahkan jika terjadi error berikutnya.

3

Metode mana yang harus digunakan untuk mengambil satu baris hasil?

Jawaban

DB.QueryRow dirancang khusus untuk mengambil satu baris dan mengembalikan objek Row (tunggal). Berbeda dengan Query yang mengembalikan Rows dan memerlukan iterasi dengan rows.Next(), QueryRow menyederhanakan kode dengan memungkinkan scan langsung. Penanganan error terjadi selama Scan, di mana sql.ErrNoRows menunjukkan bahwa tidak ada baris yang ditemukan.

4

Bagaimana cara membuka koneksi ke database dengan database/sql?

5

Apa yang dikembalikan oleh metode rows.Scan()?

+19 pertanyaan wawancara

Kuasai Go untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis