从数据库中读取数据

http://sqlitebrowser.org/下载sqlite3可视化工具,在本main.go同目录下创建personal.db数据库,创建表如下:

package main

import (
"database/sql"
"fmt" _ "github.com/mattn/go-sqlite3"
)
// 用struct类型将来自SQL数据库的数据映射到内存中的对象
type Profile struct {
ProfileId int
FirstName string
LastName string
Age int
} func main() {
db, err := sql.Open("sqlite3", "./personal.db")
checkError(err)
var profile Profile
// Query可以使用参数
rows, err := db.Query("select ProfileId, FirstName, LastName, Age from Profile where FirstName = ? and LastName = ?", "Tarik", "Guney")
checkError(err)
for rows.Next() {
err := rows.Scan(&profile.ProfileId, &profile.FirstName, &profile.LastName, &profile.Age)
checkError(err)
fmt.Println(profile)
}
rows.Close()
db.Close()
} func checkError(err error) {
if err != nil {
panic(err)
}
}

将数据插入数据库

package main

import (
_ "github.com/mattn/go-sqlite3"
"database/sql"
"fmt"
) type Profile struct{
ProfileId int
FirstName string
LastName string
Age int
} func main(){
db, err := sql.Open("sqlite3", "./personal.db")
checkError(err)
/* 更新数据库数据
statement, err := db.Prepare("update Profile set FirstName = ? where ProfileId = ?")
checkError(err)
statement.Exec("Martha", 5)
*/
statement, err := db.Prepare("insert into Profile (FirstName, LastName, Age) values(?,?,?)")
checkError(err)
statement.Exec("Jessica", "McArthur", 30)
/* 删除数据库数据
statement ,err := db.Prepare("delete from Profile where ProfileId = ?")
checkError(err)
statement.Exec(3)
*/
var profile Profile
rows, err := db.Query("select ProfileId, FirstName, LastName, Age from Profile")
checkError(err)
for rows.Next(){
err := rows.Scan(&profile.ProfileId, &profile.FirstName, &profile.LastName, &profile.Age)
checkError(err)
fmt.Println(profile)
}
rows.Close()
db.Close()
} func checkError(err error) {
if (err != nil) {
panic(err)
}
}

Go基础编程实践(十)—— 数据库的更多相关文章

  1. Go基础编程实践(九)—— 网络编程

    下载网页 package main import ( "io/ioutil" "net/http" "fmt" ) func main() ...

  2. Go基础编程实践(八)—— 系统编程

    捕捉信号 // 运行此程序,控制台将打印"Waiting for signal" // 按Ctrl + C 发送信号以关闭程序,将发生中断 // 随后控制台依次打印"Si ...

  3. Go基础编程实践(七)—— 并发

    同时运行多个函数 观察常规代码和并发代码的输出顺序. // 常规代码,顺序执行,依次输出 package main import ( "fmt" "time" ...

  4. Go基础编程实践(六)—— 文件

    检查文件是否存在 在此程序同目录下创建log.txt文件,以检测. package main import ( "os" "fmt" ) func main() ...

  5. Go基础编程实践(五)—— 错误和日志

    自定义错误类型 Go中可以使用errors.New()创建错误信息,也可以通过创建自定义错误类型来满足需求.error是一个接口类型,所有实现该接口的类型都可以当作一个错误类型. // error类型 ...

  6. Go基础编程实践(四)—— 数组和map

    数组去重 package main import "fmt" func main(){ intSlice := []int{1,5,5,5,5,7,8,6,6, 6} fmt.Pr ...

  7. Go基础编程实践(三)—— 日期和时间

    日期和时间 package main import ( "fmt" "time" ) func main() { // 获取当前时间 current := ti ...

  8. Go基础编程实践(二)—— 类型转换

    bool to string strconv包的FormatBool函数用于将bool转为string package main import ( "fmt" "strc ...

  9. Go基础编程实践(一)—— 操作字符串

    修剪空格 strings包中的TrimSpace函数用于去掉字符串首尾的空格. package main import ( "fmt" "strings" ) ...

随机推荐

  1. linux服务器升级python版本(python2与python3共存)

    linux服务器升级python版本 ######################################## 第一步先安装sqlite-devel,因为python2也有这个,python3 ...

  2. 少女NULL中

    NULL inline void read (int &now) { register ; ; !isdigit (word); word = getchar ()) ; + word - ' ...

  3. limma 包

    limma:Linear Models for Microarray and RNA-Seq Data http://www.bioconductor.org/packages/release/bio ...

  4. Mercurial 的hook使用

    1. Handling repository events with hooks可以通过Mercurial版本管理工具提供的hooks机制来处理repo的各种事件,从而实现对Mercurial的扩展, ...

  5. Oracle数据库备份、灾备的23个常见问题

    为了最大限度保障数据的安全性,同时能在不可预计灾难的情况下保证数据的快速恢复,需要根据数据的类型和重要程度制定相应的备份和恢复方案.在这个过程中,DBA的职责就是要保证数据库(其它数据由其它岗位负责) ...

  6. Python中的日志记录方案-logging模块&loguru模块

    原文链接 原创: 崔庆才 在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样.在使用时我们需要配置一些 Handler.Formatter ...

  7. Centos7下安装ORACLE 11g,弹窗不显示

    Centos7下安装ORACLE 11gR2,弹窗不显示,安装界面显示为灰色. 解决方法:执行安装时带上一下参数 ./runInstaller -jreLoc /etc/alternatives/jr ...

  8. 针对jquery的优化方法,你知道几条

    (转)我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来 ====================== ...

  9. 如何使用phantomJS来模拟一个HTML元素的鼠标悬停

    如何使用phantomJS来模拟一个HTML元素的鼠标悬停 (How to use phantomJS to simulate mouse hover on a HTML element) 转 htt ...

  10. Python 技术篇-pip版本查看和升级

    一.pip show pip查看pip版本,下面还提示安装命令和pip可以升级到的最新版本. 二.python -m pip install --upgrade pip升级我们的pip