Querying Data
After Connecting, you can execute a SQL statement and retrieve the results.
SELECT Procedure
You can use Query to execute the statement, which will return a Row object you can use to fetch results.
rows, _ := db.Query("SELECT Id, FirstName FROM Lead WHERE FirstName = 'Bob'") defer rows.Close()
Iterating over the Results
You can use Next to iterate through the rows in the resultset. To extract values from a row, use Scan to bind columns to local variables. The number of pointers given to Scan must match the number of columns in the resultset exactly, otherwise Scan will return an error.
for rows.Next() { var ( Id string FirstName string ) rows.Scan(&Id, &FirstName) fmt.Printf("Id = %s, FirstName = %s\n", Id, FirstName) }
You may use types with Scan other than strings, as long as the data can be converted by the sql package. Please refer to the Scan function in the sql package documentation for supported types and type conversion rules.