# Database/SQL (Go) > Meistern Sie den Zugriff auf SQL-Datenbanken in Go mit dem Paket database/sql: Verbindungen, Abfragen, Transaktionen, Prepared Statements und Verwaltung des Connection-Pools. - 22 Interview-Fragen - Mid-Level - [Interview-Fragen: Go](https://sharpskill.dev/de/technologies/go/interviewfragen.md) ## 1. Was ist der Hauptunterschied zwischen DB.Query und DB.Exec? **Antwort** DB.Query wird verwendet, um SELECT-Abfragen auszuführen, die Datenzeilen zurückgeben, während DB.Exec zum Ausführen von SQL-Befehlen dient, die keine Ergebnisse zurückgeben (INSERT, UPDATE, DELETE). Query gibt ein Rows-Objekt zurück, das durchlaufen und mit rows.Close() geschlossen werden muss, wohingegen Exec ein Result zurückgibt, das die Anzahl der betroffenen Zeilen und die zuletzt eingefügte ID enthält. ## 2. Warum ist es wichtig, das Rows-Objekt nach einer Abfrage zu schließen? **Antwort** Das Schließen von Rows mit rows.Close() gibt die Ressourcen der database-Verbindung frei und ermöglicht es der Verbindung, in den pool zurückzukehren. Ohne Schließen bleiben Verbindungen belegt und der pool kann erschöpft werden, was zu Blockierungen führt. Es wird empfohlen, defer rows.Close() unmittelbar nach der Prüfung des Query-Fehlers zu verwenden, um das Schließen auch bei einem nachfolgenden Fehler zu gewährleisten. ## 3. Welche Methode sollte verwendet werden, um eine einzelne Ergebniszeile abzurufen? **Antwort** DB.QueryRow ist speziell dafür ausgelegt, eine einzelne Zeile abzurufen, und gibt ein Row-Objekt (Singular) zurück. Im Gegensatz zu Query, das Rows zurückgibt und eine Iteration mit rows.Next() erfordert, vereinfacht QueryRow den Code, indem es direktes Scannen ermöglicht. Die Fehlerbehandlung erfolgt während des Scan, wobei sql.ErrNoRows anzeigt, dass keine Zeile gefunden wurde. ## 19 weitere Fragen verfügbar - Wie öffnet man eine Verbindung zu einer Datenbank mit database/sql? - Was gibt die Methode rows.Scan() zurück? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Go-Interviewthemen - [Go-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-basics.md): 25 Fragen, Junior - [Go-Datenstrukturen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-data-structures.md): 20 Fragen, Junior - [Go-Interfaces](https://sharpskill.dev/de/technologies/go/interviewfragen/go-interfaces.md): 18 Fragen, Junior - [Fehlerbehandlung](https://sharpskill.dev/de/technologies/go/interviewfragen/error-handling.md): 20 Fragen, Junior - [Goroutines-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/goroutines-basics.md): 20 Fragen, Junior - [Channels](https://sharpskill.dev/de/technologies/go/interviewfragen/channels.md): 22 Fragen, Junior - [Go Modules](https://sharpskill.dev/de/technologies/go/interviewfragen/go-modules.md): 18 Fragen, Mid-Level - [HTTP-Server](https://sharpskill.dev/de/technologies/go/interviewfragen/http-server.md): 24 Fragen, Mid-Level - [HTTP-Client](https://sharpskill.dev/de/technologies/go/interviewfragen/http-client.md): 18 Fragen, Mid-Level - [JSON-Kodierung](https://sharpskill.dev/de/technologies/go/interviewfragen/json-encoding.md): 20 Fragen, Mid-Level - [context-Paket](https://sharpskill.dev/de/technologies/go/interviewfragen/context-package.md): 20 Fragen, Mid-Level - [Testing](https://sharpskill.dev/de/technologies/go/interviewfragen/testing.md): 22 Fragen, Mid-Level - [Concurrency-Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/concurrency-patterns.md): 24 Fragen, Mid-Level - [Synchronisationsprimitive](https://sharpskill.dev/de/technologies/go/interviewfragen/sync-primitives.md): 22 Fragen, Mid-Level - [Go-Web-Frameworks](https://sharpskill.dev/de/technologies/go/interviewfragen/go-web-frameworks.md): 20 Fragen, Mid-Level - [REST-API-Design](https://sharpskill.dev/de/technologies/go/interviewfragen/rest-api-design.md): 20 Fragen, Mid-Level - [gRPC](https://sharpskill.dev/de/technologies/go/interviewfragen/grpc.md): 22 Fragen, Mid-Level - [Reflection](https://sharpskill.dev/de/technologies/go/interviewfragen/reflection.md): 20 Fragen, Senior - [Speicherverwaltung](https://sharpskill.dev/de/technologies/go/interviewfragen/memory-management.md): 24 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/go/interviewfragen/performance-optimization.md): 22 Fragen, Senior - [Generics](https://sharpskill.dev/de/technologies/go/interviewfragen/generics.md): 20 Fragen, Senior - [Go Design Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/design-patterns.md): 24 Fragen, Senior - [Microservices](https://sharpskill.dev/de/technologies/go/interviewfragen/microservices.md): 24 Fragen, Senior - [Sicherheit und Authentifizierung](https://sharpskill.dev/de/technologies/go/interviewfragen/security-authentication.md): 24 Fragen, Senior - [Docker & Containerization](https://sharpskill.dev/de/technologies/go/interviewfragen/docker-containerization.md): 20 Fragen, Senior - [Kubernetes Basics](https://sharpskill.dev/de/technologies/go/interviewfragen/kubernetes-basics.md): 22 Fragen, Senior - [Fortgeschrittenes Go](https://sharpskill.dev/de/technologies/go/interviewfragen/advanced-go.md): 20 Fragen, Senior - [CLI-Entwicklung](https://sharpskill.dev/de/technologies/go/interviewfragen/cli-development.md): 20 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/go/interviewfragen/database-sql