先看数据库内容:
- mysql> select * from user;
 - +----+--------+----------+
 - | id | strKey | strValue |
 - +----+--------+----------+
 - |  1 | xxx    | yyy      |
 - |  2 | xxx2   | yyy2     |
 - |  3 | xxx    | yyy3     |
 - +----+--------+----------+
 - 3 rows in set (0.00 sec)
 
 
用go来操作一下:
- package main
 -  
 - import (
 -     "database/sql"
 -     "fmt"
 -  
 -     _ "github.com/go-sql-driver/mysql"
 - )
 -  
 - var DB *sql.DB
 -  
 - func init() {
 -     var err  error
 -     DB, err = sql.Open("mysql", "root@/taoge") // taoge is db name
 -     if err != nil {
 -         panic("heheda")
 -     }else{
 -         fmt.Println("Open ok")
 -     }
 - }
 -  
 - func get(key string) bool {
 -     sqlstr := "SELECT strKey, strValue FROM user where strKey = ?"
 -     stmt, err := DB.Prepare(sqlstr)
 -     defer stmt.Close()
 -     if err != nil {
 -         fmt.Println("Prepare error", err)
 -         return false
 -     }
 -  
 -     rows, err := stmt.Query(key)
 -     defer rows.Close()
 -     if err != nil {
 -         fmt.Println("Query error", err)
 -         return false
 -     }
 -  
 -     for rows.Next() {
 -         var key, val string
 -         err = rows.Scan(&key, &val)
 -         if err != nil {
 -             fmt.Println("Scan error", err)
 -             return false
 -         }
 -  
 -         fmt.Println("Result:", key, val)
 -     }
 -  
 -     return true
 - }
 -  
 - func main() {
 -     get("xxx")
 - }
 -  
 -  
 
 
结果:
- Open ok
 - Result: xxx yyy
 - Result: xxx yyy3
 
 
如果是update操作, 那也简单, 无非就是用Exec而已。
创建数据库表的话, 可以这么玩:
- package main
 -  
 - import (
 -     "database/sql"
 -     "fmt"
 -  
 -     _ "github.com/go-sql-driver/mysql"
 - )
 -  
 - var DB *sql.DB
 -  
 - func init() {
 -     var err  error
 -     DB, err = sql.Open("mysql", "root@/taoge") // taoge is db name
 -     if err != nil {
 -     }else{
 -         fmt.Println("Open ok")
 -     }
 - }
 -  
 - func main() {
 -   createTable()
 - }
 -  
 - func createTable() {
 -   prefix := "CREATE TABLE IF NOT EXISTS "
 -  
 -   sqlstr := prefix + "tb_people" + "(" + `
 -     id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 -     name varchar(64)  NOT NULL,
 -     addr varchar(64)  NOT NULL
 -   ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  `
 -  
 -   fmt.Println(sqlstr)
 -  
 -   _, err := DB.Exec(sqlstr)
 -   if err != nil {
 -     fmt.Println(err)
 -   }
 - }
 -  
 -  
 
 
自测OK.
不多说。

                

















