Databases with database/sql
Part of the Go course
Every program you have written so far forgets everything the moment it exits. That is fine for a tool that transforms its input and stops, and useless for anything that has users, orders, sessions or history. Sooner or later a Go program needs to put data somewhere that survives it, and for most programs that somewhere is a relational database.
Go's approach to this is unusual and worth understanding before you write a line of it. The standard library ships a package called database/sql that knows nothing whatsoever about PostgreSQL, MySQL or SQLite. It defines the shape of the conversation: how you open a connection, how you send a statement, how you read rows back. The knowledge of any particular database lives in a separate package called a driver.
Want to learn Go Databases with database/sql in a real environment?
Click below, get a fresh Linux box with Go ready to go, and work through Databases with database/sql hands-on with an AI tutor that knows your code.
Start this lessonDatabases with database/sqlWhat you'll learn
- Database/sql package
- Driver imports
- Sql.Open and sql.DB pool
- Exec vs Query vs QueryRow
- Prepared statements
- Scanning rows
- Transactions
Read this lesson in your language
All lessons in this course
20 lessons- 1Hello, Go25 min
- 2Variables and Types25 min
- 3Control Flow: if and for30 min
- 4Functions30 min
- 5Slices and Maps35 min
- 6Structs and Pointers35 min
- 7Methods and Interfaces35 min
- 8Error Handling35 min
- 9Modules and Project Structure35 min
- 10Tiny CLI Capstone40 min
- 11A Tour of the Standard Library40 min
- 12Testing and Benchmarks40 min
- 13Goroutines and Channels40 min
- 14Concurrency Patterns45 min
- 15Generics35 min
- 16HTTP Servers45 min
- 17Databases with database/sql45 min
- 18Performance and Profiling40 min
- 19Design Patterns in Go40 min
- 20Deployment and Production45 min
