golang 連接 mysql 數據庫


//localost 和 127.0.0.1不一樣!
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "log" "time" ) func main() { db,err:= sql.Open("mysql", "root:123456@(localhost:3306)/gowebexample?parseTime=true")   if err != nil { log.Fatal(err) } if err := db.Ping();err != nil { log.Fatal(err) } { query := ` CREATE TABLE users ( id INT AUTO_INCREMENT, username TEXT NOT NULL, password TEXT NOT NULL, created_at DATETIME, PRIMARY KEY (id) );` if _,err := db.Exec(query);err != nil { log.Fatal(err) } } { username := "tumaowolf" password := "secret" createdAt := time.Now() result,err := db.Exec("INSERT INTO users (username,password,created_at) VALUES (?,?,?)", username,password,createdAt) if err != nil { log.Fatal(err) } id,err := result.LastInsertId() fmt.Println(id) } { var ( id int username string password string createdAt time.Time ) query := `SELECT id,username,password,created_at FROM users WHERE id = ?` if err := db.QueryRow(query, 1).Scan(&id, &username, &password, &createdAt); err != nil { log.Fatal(err) } fmt.Println(id, username, password, createdAt) } { type user struct { id int username string password string createdAt time.Time } rows, err := db.Query(`SELECT id,username,password,created_at FROM users`) if err != nil { log.Fatal(err) } defer rows.Close() var users []user for rows.Next() { var u user err := rows.Scan(&u.id, &u.username, &u.password, &u.createdAt) if err != nil { log.Fatal(err) } users = append(users, u) } if err := rows.Err();err != nil { log.Fatal(err) } fmt.Printf("%#v",users) } }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM