
const (
host = "aws.com"
port = 25060
user = "doadmin"
password = "12345"
dbname = "db_test"
)
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
"password=%s dbname=%s sslmode=require",
host, port, user, password, dbname)
db, err := sql.Open("postgres", psqlInfo)
สามารถต่อได้หลายแบบ
package main
import (
"database/sql"
"fmt"
"log"
_ "github.com/lib/pq"
)
var db *sql.DB
type WebsiteMeta struct {
ID string
Title string
Price string
Tags_count string
}
func main() {
db, err := sql.Open("postgres", psqlInfo)
if err != nil {
log.Fatal("Failed to open a DB connection: ", err)
}
defer db.Close()
rows, err := db.Query(`
SELECT w.id,w.title,w.price,w.dr
FROM website w
WHERE w.id=$1
`, 11)
if err != nil {
fmt.Println(err)
}
myWebsiteMeta := WebsiteMeta{}
var i = 1
for rows.Next() {
err := rows.Scan(&myWebsiteMeta.ID, &myWebsiteMeta.Title, &myWebsiteMeta.Price, &myWebsiteMeta.Tags_count)
if err != nil {
log.Fatal(err)
}
fmt.Println("Inside:: " + myWebsiteMeta.ID + " " + myWebsiteMeta.Title+" i=", i)
i++
}
}
SQL Update
_, err = db.Exec(`UPDATE websites_website w
SET w.price = $2
WHERE w.id=$1`, website.ID, website.Price)
if err != nil {
panic(err)
}