Go语言操作sqllite

本文演示了如何使用Golang进行SQLite3数据库的基本操作,包括插入、更新、查询和删除记录。通过具体代码示例,展示了如何准备SQL语句、执行数据库操作并处理返回结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package main

import (
	"database/sql"
	"fmt"
	"video/util"
	_ "github.com/mattn/go-sqlite3"
)

func main() {

	db, err := sql.Open("sqlite3","D:/workstation/sqlite/foo.db")
	util.CheckError(err)

	//插入数据
	stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?, ?, ?);")
	util.CheckError(err)
	res, err := stmt.Exec("安琪拉", "人事部门", "2012-12-09")
	util.CheckError(err)
	//返回当前最大id,也就是本次插入所产生的ID
	id, err := res.LastInsertId()
	util.CheckError(err)
	fmt.Println(id)

	//更新数据
	stmt,err = db.Prepare("update userinfo set username=? where uid=?;")
	util.CheckError(err)
	res,err = stmt.Exec("李慕白",id)
	util.CheckError(err)
	affect,err := res.RowsAffected()
	fmt.Println("更新行数:" + string(affect))

	//查询数据
	rows,err := db.Query("SELECT * FROM userinfo")
	util.CheckError(err)

	for rows.Next() {
		var uid int
		var username string
		var department string
		var created string
		err = rows.Scan(&uid, &username, &department, &created)
		util.CheckError(err)
		fmt.Println("uid=" + string(uid),"username=" + username,"department=" + department,"created" + created)
	}

	//删除数据
	stmt,err = db.Prepare("delete from userinfo where uid=?")
	util.CheckError(err)
	res,err = stmt.Exec(id)
	util.CheckError(err)
	affect,err = res.RowsAffected()
	util.CheckError(err)
	fmt.Println("删除:" + string(affect))
	db.Close()

}

package util

import "fmt"

func CheckError(err error) {
	if err != nil {
		fmt.Printf("CheckError, error:%s\n", err.Error())
		panic(err.Error())
	}
}

推荐一个公众号

号主为一线大厂架构师,CSDN博客专家,博客访问量突破一千万。主要分享Java、golang架构,源码,分布式,高并发等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张音乐

请我喝杯咖啡吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值