# Database/SQL (Go) > Kuasai akses database SQL di Go dengan package database/sql: koneksi, query, transaksi, prepared statements, dan pengelolaan connection pool. - 22 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Go](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara.md) ## 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. ## 19 pertanyaan lagi tersedia - Bagaimana cara membuka koneksi ke database dengan database/sql? - Apa yang dikembalikan oleh metode rows.Scan()? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Go lainnya - [Dasar-Dasar Go](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/go-basics.md): 25 pertanyaan, Junior - [Struktur Data Go](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/go-data-structures.md): 20 pertanyaan, Junior - [Interface Go](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/go-interfaces.md): 18 pertanyaan, Junior - [Penanganan Error](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/error-handling.md): 20 pertanyaan, Junior - [Dasar-Dasar Goroutine](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/goroutines-basics.md): 20 pertanyaan, Junior - [Channels](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/channels.md): 22 pertanyaan, Junior - [Go Modules](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/go-modules.md): 18 pertanyaan, Mid-Level - [Server HTTP](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/http-server.md): 24 pertanyaan, Mid-Level - [Klien HTTP](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/http-client.md): 18 pertanyaan, Mid-Level - [Enkoding JSON](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/json-encoding.md): 20 pertanyaan, Mid-Level - [Paket context](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/context-package.md): 20 pertanyaan, Mid-Level - [Testing](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/testing.md): 22 pertanyaan, Mid-Level - [Pola Concurrency](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/concurrency-patterns.md): 24 pertanyaan, Mid-Level - [Primitif Sinkronisasi](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/sync-primitives.md): 22 pertanyaan, Mid-Level - [Framework web Go](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/go-web-frameworks.md): 20 pertanyaan, Mid-Level - [Desain API REST](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/rest-api-design.md): 20 pertanyaan, Mid-Level - [gRPC](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/grpc.md): 22 pertanyaan, Mid-Level - [Reflection](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/reflection.md): 20 pertanyaan, Senior - [Manajemen Memori](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/memory-management.md): 24 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Generics](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/generics.md): 20 pertanyaan, Senior - [Go Design Patterns](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/design-patterns.md): 24 pertanyaan, Senior - [Microservices](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/microservices.md): 24 pertanyaan, Senior - [Keamanan dan Autentikasi](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/security-authentication.md): 24 pertanyaan, Senior - [Docker & Containerization](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/docker-containerization.md): 20 pertanyaan, Senior - [Kubernetes Basics](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/kubernetes-basics.md): 22 pertanyaan, Senior - [Go Tingkat Lanjut](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/advanced-go.md): 20 pertanyaan, Senior - [Pengembangan CLI](https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/cli-development.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/go/pertanyaan-wawancara/database-sql