# Database/SQL (Go) > database/sqlパッケージを使って、GoでのSQLデータベースアクセスをマスターしましょう:接続、クエリ、トランザクション、prepared statements、コネクションプールの管理。 - 22 面接問題 - Mid-Level - [面接問題: Go](https://sharpskill.dev/ja/technologies/go/interview-questions.md) ## 1. DB.Query と DB.Exec の主な違いは何ですか? **回答** DB.Query は、データの行を返す SELECT クエリを実行するために使用されます。一方、DB.Exec は結果を返さない SQL コマンド(INSERT、UPDATE、DELETE)を実行するためのものです。Query は反復処理して rows.Close() で閉じる必要がある Rows オブジェクトを返しますが、Exec は影響を受けた行数と最後に挿入された ID を含む Result を返します。 ## 2. クエリの後に Rows オブジェクトを閉じることが重要なのはなぜですか? **回答** rows.Close() で Rows を閉じると database 接続のリソースが解放され、接続が pool に戻れるようになります。閉じないと接続が使用中のままになり、pool が枯渇してブロッキングを引き起こす可能性があります。後続のエラーが発生しても確実に閉じられるよう、Query のエラーをチェックした直後に defer rows.Close() を使用することが推奨されます。 ## 3. 結果から単一の行を取得するには、どのメソッドを使用すべきですか? **回答** DB.QueryRow は単一の行を取得するために特別に設計されており、Row オブジェクト(単数形)を返します。Rows を返して rows.Next() による反復処理が必要な Query とは異なり、QueryRow は直接 scan できるためコードを簡素化します。エラー処理は Scan 中に行われ、sql.ErrNoRows は行が見つからなかったことを示します。 ## さらに19問利用可能 - database/sql でデータベースへの接続を開くにはどうすればよいですか? - rows.Scan() メソッドは何を返しますか? 無料で登録: https://sharpskill.dev/ja/login ## その他のGo面接トピック - [Goの基礎](https://sharpskill.dev/ja/technologies/go/interview-questions/go-basics.md): 25問, Junior - [Goのデータ構造](https://sharpskill.dev/ja/technologies/go/interview-questions/go-data-structures.md): 20問, Junior - [Go のインターフェース](https://sharpskill.dev/ja/technologies/go/interview-questions/go-interfaces.md): 18問, Junior - [エラー処理](https://sharpskill.dev/ja/technologies/go/interview-questions/error-handling.md): 20問, Junior - [Goroutine の基礎](https://sharpskill.dev/ja/technologies/go/interview-questions/goroutines-basics.md): 20問, Junior - [Channels](https://sharpskill.dev/ja/technologies/go/interview-questions/channels.md): 22問, Junior - [Go Modules](https://sharpskill.dev/ja/technologies/go/interview-questions/go-modules.md): 18問, Mid-Level - [HTTP サーバー](https://sharpskill.dev/ja/technologies/go/interview-questions/http-server.md): 24問, Mid-Level - [HTTPクライアント](https://sharpskill.dev/ja/technologies/go/interview-questions/http-client.md): 18問, Mid-Level - [JSON エンコーディング](https://sharpskill.dev/ja/technologies/go/interview-questions/json-encoding.md): 20問, Mid-Level - [context パッケージ](https://sharpskill.dev/ja/technologies/go/interview-questions/context-package.md): 20問, Mid-Level - [Testing](https://sharpskill.dev/ja/technologies/go/interview-questions/testing.md): 22問, Mid-Level - [並行処理パターン](https://sharpskill.dev/ja/technologies/go/interview-questions/concurrency-patterns.md): 24問, Mid-Level - [同期プリミティブ](https://sharpskill.dev/ja/technologies/go/interview-questions/sync-primitives.md): 22問, Mid-Level - [Go Web フレームワーク](https://sharpskill.dev/ja/technologies/go/interview-questions/go-web-frameworks.md): 20問, Mid-Level - [REST API 設計](https://sharpskill.dev/ja/technologies/go/interview-questions/rest-api-design.md): 20問, Mid-Level - [gRPC](https://sharpskill.dev/ja/technologies/go/interview-questions/grpc.md): 22問, Mid-Level - [Reflection](https://sharpskill.dev/ja/technologies/go/interview-questions/reflection.md): 20問, Senior - [メモリ管理](https://sharpskill.dev/ja/technologies/go/interview-questions/memory-management.md): 24問, Senior - [パフォーマンス最適化](https://sharpskill.dev/ja/technologies/go/interview-questions/performance-optimization.md): 22問, Senior - [Generics](https://sharpskill.dev/ja/technologies/go/interview-questions/generics.md): 20問, Senior - [Go Design Patterns](https://sharpskill.dev/ja/technologies/go/interview-questions/design-patterns.md): 24問, Senior - [Microservices](https://sharpskill.dev/ja/technologies/go/interview-questions/microservices.md): 24問, Senior - [セキュリティと認証](https://sharpskill.dev/ja/technologies/go/interview-questions/security-authentication.md): 24問, Senior - [Docker & Containerization](https://sharpskill.dev/ja/technologies/go/interview-questions/docker-containerization.md): 20問, Senior - [Kubernetes Basics](https://sharpskill.dev/ja/technologies/go/interview-questions/kubernetes-basics.md): 22問, Senior - [高度な Go](https://sharpskill.dev/ja/technologies/go/interview-questions/advanced-go.md): 20問, Senior - [CLI開発](https://sharpskill.dev/ja/technologies/go/interview-questions/cli-development.md): 20問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/go/interview-questions/database-sql