Lab 12: Database SQL
Overview
Setup
mkdir -p /tmp/sqllab && cd /tmp/sqllab
cat > go.mod << 'EOF'
module example.com/sqllab
go 1.22
EOF
go get modernc.org/[email protected]Step 1: Open and Ping
package main
import (
"database/sql"
"fmt"
"log"
_ "modernc.org/sqlite"
)
func main() {
// :memory: = in-memory database
db, err := sql.Open("sqlite", ":memory:")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// Verify connectivity
if err := db.Ping(); err != nil {
log.Fatal("ping failed:", err)
}
fmt.Println("connected to SQLite in-memory DB")
}Step 2: Create Table and Insert
Step 3: QueryRow — Single Row
Step 4: Query — Multiple Rows
Step 5: Transactions
Step 6: Connection Pool Configuration
Step 7: Error Handling and NULL Values
Step 8: Capstone — Full CRUD
Summary
API
Purpose
Notes
Last updated
