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