Golang之sqlite数据库

摘要:
=res.LastInsertId()checkErr(err)fmt.Println(id)//updatestmt,err=stmt.Exec(“wangshubo_new”,err,

本文章介绍一下golang的sqlite 数据使用,废话少说直接上代码:

package main

import (
    "database/sql"
    "fmt"
    "time"

    _"github.com/mattn/go-sqlite3"
)

func main() {
    //打开数据库,如果不存在,则创建
    db, err := sql.Open("sqlite3", "./foo.db")
    checkErr(err)

    //创建表
    sql_table := `
    CREATE TABLE IF NOT EXISTS userinfo(
        uid INTEGER PRIMARY KEY AUTOINCREMENT,
        username VARCHAR(64) NULL,
        departname VARCHAR(64) NULL,
        created DATE NULL
    );
    `

    db.Exec(sql_table)

    // insert
    stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)")
    checkErr(err)

    res, err := stmt.Exec("wangshubo", "国务院", "2017-04-21")
    checkErr(err)

    id, err := res.LastInsertId()
    checkErr(err)

    fmt.Println(id)

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

    res, err = stmt.Exec("wangshubo_new", id)
    checkErr(err)

    affect, err := res.RowsAffected()
    checkErr(err)

    fmt.Println(affect)

    // query
    rows, err := db.Query("SELECT * FROM userinfo")
    checkErr(err)
    var uid int
    var username string
    var department string
    var created time.Time

    for rows.Next() {
        err = rows.Scan(&uid, &username, &department, &created)
        checkErr(err)
        fmt.Println(uid)
        fmt.Println(username)
        fmt.Println(department)
        fmt.Println(created)
    }

    rows.Close()

    // delete
    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)

    db.Close()

}

func checkErr(err error) {
    if err != nil {
        panic(err)
    }
}

免责声明:文章转载自《Golang之sqlite数据库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python机器学习(1)——决策树分类算法Asp.net Core 微信小程序支付下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

golang学习之rpc实例

rpc(远程过程调用),可以像调用本地程序一样调用远端服务,rpc分为http方式和tcp连接方式,使用http的rpc调用如下: 首先是server端: // rpc_server project main.go package main import ( "fmt" "net" "net/http" "n...

Android 关机问题快速定位

极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的 关机 部分知识点,通过阅读本篇文章,您将收获以下内容: 1 . 确认是亮屏关机还是灭屏关机?关机时是否有播放关机动画? 2 . 是直接关机还是关机后会自动重启? 3.异常关机时,连上uart线是否可以吐log?插上usb后是否能显示关机充电动画? 4 . 如果按...

MongoDB update数据语法

在前面的文章“mongodb 查询的语法”里,我介绍了Mongodb的常用查询语法,Mongodb的update操作也有点复杂,我结合自己的使用经验,在这里介绍一下,给用mongodb的朋友看看,也方便以后自己用到的时候查阅:注:在这篇文章及上篇文章内讲的语法介绍都是在mongodb shell环境内的,和真正运用语言编程(如java,php等)使用时,在...

JS 获取web sql 数据

var tbName="tableName"; var tdName=["id","th1","th2","th3"]; var strSQL="select * from "+tbName+" where id="+1; //从web sql数据库获取数据; function getWebSqlData(strSQL,tbName,tdName){...

Odoo configuration items

[options] addons_path = /opt/odoo/server/openerp/addons,/opt/odoo/server/addons admin_passwd = admin auto_reload = False csv_internal_sep = , data_dir = /opt/odoo/.local/shar...

『GoLang』反射

方法和类型的反射 反射是应用程序检查其所拥有的结构,尤其是类型的一种能。每种语言的反射模型都不同,并且有些语言根本不支持反射。Go语言实现了反射,反射机制就是在运行时动态调用对象的方法和属性,即可从运行时态的示例对象反求其编码阶段的定义,标准库中reflect包提供了相关的功能。在reflect包中,通过reflect.TypeOf(),reflect.V...