Golang mysql

仍是那句話,服務器嘛,每一個數據庫支持,那成啥子啦嘛!mysql

好吧,今天,就讓Go能連上數據庫,固然是以前給你鋪墊的MySql的啦,哈哈git

一。安裝第三方包支持訪問mysql數據庫github

#go get github.com/go-sql-driver/mysqlsql

二。寫一個主程序數據庫

//database.go服務器

package maintcp

import (ui

    "database/sql"spa

    "fmt"orm

    _ "github.com/go-sql-driver/mysql"

)

func checkErr(err error) {

    if err != nil {

        panic(err)

    }

}

func main() {

        //打開數據庫mytest

        fmt.Println("open the database, mytest")

        db, err := sql.Open("mysql", "root:11111111@tcp(127.0.0.1:3306)/mytest?charset=utf8")

        checkErr(err)

        //插入數據

        fmt.Println("insert data info into table, userinfo")

        stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?")

        checkErr(err)

        res, err := stmt.Exec("Test", "people", "2017-10-27")

        checkErr(err)

        //記錄ID

        fmt.Println("record the ID of affecting item")

        id, err := res.LastInsertId()

        checkErr(err)

        fmt.Println(id)

  //更新數據

        fmt.Println("update data info where id was conform to be affected")

        stmt, err = db.Prepare("update userinfo set username=? where uid=?")

        checkErr(err)

        res, err = stmt.Exec("man", id)

        checkErr(err)

        affect, err := res.RowsAffected()

        checkErr(err)

        fmt.Println(affect)

        //查詢數據

        fmt.Println("query data info from table, userinfo")

        rows, err := db.Query("SELECT * FROM userinfo")

        checkErr(err)

        fmt.Println("iterator data info to show")

        for rows.Next() {

                var uid int

                var username string

                var department string

                var created string

                err = rows.Scan(&uid, &username, &department, &created)

                checkErr(err)

                fmt.Println(uid)

                fmt.Println(username)

                fmt.Println(department)

                fmt.Println(created)

        }

  //刪除數據

        stmt, err = db.Prepare("delete from userinfo where uid=?")

        checkErr(err)

        res, err = stmt.Exec(id)

        checkErr(err)

        affect, err = res.RowsAffected()

        checkErr(err)

        fmt.Println(affect)

        //關閉數據庫mytest

        db.Close()

}

三。創建數據庫和表

mysql>create database mytest;

mysql>use mytest;

mysql> CREATE TABLE `userinfo` (

    ->     `uid` INT(10) NOT NULL AUTO_INCREMENT,

    ->     `username` VARCHAR(64) NULL DEFAULT NULL,

    ->     `departname` VARCHAR(64) NULL DEFAULT NULL,

    ->     `created` DATE NULL DEFAULT NULL,

    ->     PRIMARY KEY (`uid`)

-> );

四。結果

# ./database

open the database, mytest

insert data info into table, userinfo

record the ID of affecting item

4

update data info where id was conform to be affected

1

query data info from table, userinfo

iterator data info to show

4

man

people

2017-10-27

1

Finally:

哈哈,數據庫都給你配上了,諸位還不開始Go(滾)嗎?

哈哈哈哈哈哈哈

相關文章
相關標籤/搜索