欢迎来到代码驿站!

Golang

当前位置:首页 > 脚本语言 > Golang

Go语言操作mysql数据库简单例子

时间:2022-04-07 07:52:24|栏目:Golang|点击:

Go语言操作数据库非常的简单,
他也有一个类似JDBC的东西"database/sql"
实现类是"github.com/go-sql-driver/mysql"
使用过JDBC的人应该一看就懂

对日期的处理比较晦涩,没有JAVA流畅:

复制代码 代码如下:

package main

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
    "log"
    "time"
)

/*
    create table t(
        id int primary key auto_increment,
        name varchar(20) not null,
        ts timestamp
    );
*/
func insert(db *sql.DB) {
    stmt, err := db.Prepare("insert into t(name,ts) values(?,?)")
    defer stmt.Close()

    if err != nil {
        log.Println(err)
        return
    }
    ts, _ := time.Parse("2006-01-02 15:04:05", "2014-08-28 15:04:00")
    stmt.Exec("edmond", ts)
}

func main() {
    db, err := sql.Open("mysql", "xx:xx@tcp(127.0.0.1:3306)/mvbox?charset=utf8")
    if err != nil {
        log.Fatalf("Open database error: %s\n", err)
    }
    defer db.Close()

    err = db.Ping()
    if err != nil {
        log.Fatal(err)
    }

    insert(db)

    rows, err := db.Query("select id,name,ts from t where id>?", 1)
    if err != nil {
        log.Println(err)
    }

    defer rows.Close()

    var id int
    var name string
    var ts string

    for rows.Next() {
        err := rows.Scan(&id, &name,&ts)
        if err != nil {
            log.Fatal(err)
        }
        log.Println(id, name,ts)
    }

    err = rows.Err()
    if err != nil {
        log.Fatal(err)
    }
}

上一篇:Go语言实现枚举的示例代码

栏    目:Golang

下一篇:GO语言实现的端口扫描器分享

本文标题:Go语言操作mysql数据库简单例子

本文地址:http://www.codeinn.net/misctech/198479.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有