Golang操作SQLite数据库的常用库

作者:4042024.01.18 01:12浏览量:10

简介:介绍了在Golang中操作SQLite数据库的常用库go-sqlite3和sqlx,并给出了使用它们的简单示例代码。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

在Golang中操作SQLite数据库,可以使用标准库或第三方库。标准库提供了一些基本的数据库操作接口,但功能相对有限。而第三方库提供了更多高级功能和更好的性能。下面介绍几个常用的Golang SQLite第三方库:

  1. github.com/mattn/go-sqlite3
    go-sqlite3 是一个流行的SQLite库,提供了丰富的功能和性能优化。它支持事务、绑定参数、预编译查询等。下面是一个简单的示例,演示如何使用go-sqlite3连接SQLite数据库、执行查询和关闭连接:
    1. package main
    2. import (
    3. "database/sql"
    4. "fmt"
    5. "log"
    6. "github.com/mattn/go-sqlite3"
    7. )
    8. func main() {
    9. // 打开数据库连接
    10. db, err := sql.Open("sqlite3", "test.db")
    11. if err != nil {
    12. log.Fatal(err)
    13. }
    14. defer db.Close()
    15. // 执行查询
    16. rows, err := db.Query("SELECT * FROM my_table")
    17. if err != nil {
    18. log.Fatal(err)
    19. }
    20. defer rows.Close()
    21. // 遍历查询结果
    22. for rows.Next() {
    23. var id int
    24. var name string
    25. err = rows.Scan(&id, &name)
    26. if err != nil {
    27. log.Fatal(err)
    28. }
    29. fmt.Printf("ID: %d, Name: %s
    30. ", id, name)
    31. }
    32. }
    在上面的示例中,我们首先使用sql.Open函数打开SQLite数据库连接,指定数据库文件名(test.db)。然后,我们执行一个简单的查询,并遍历查询结果。最后,我们使用defer语句关闭数据库连接。
    除了查询操作,go-sqlite3还支持插入、更新和删除等操作。你可以使用db.Exec函数执行这些操作,并使用参数绑定来防止SQL注入攻击。
  2. github.com/jmoiron/sqlx
    sqlx 是一个扩展了标准库的SQLite和MySQL驱动程序,提供了更多的功能和更好的性能。它支持事务、预编译查询、批量操作等。下面是一个简单的示例,演示如何使用sqlx连接SQLite数据库、执行查询和关闭连接:
    1. package main
    2. import (
    3. "database/sql"
    4. "fmt"
    5. "log"
    6. "github.com/jmoiron/sqlx"
    7. )
    8. func main() {
    9. // 打开数据库连接
    10. db, err := sqlx.Open("sqlite3", "test.db")
    11. if err != nil {
    12. log.Fatal(err)
    13. }
    14. defer db.Close()
    15. // 执行查询
    16. var id int
    17. var name string
    18. err = db.Get(&id, "SELECT * FROM my_table LIMIT 1")
    19. if err != nil {
    20. log.Fatal(err)
    21. }
    22. fmt.Printf("ID: %d, Name: %s
    23. ", id, name)
    24. }
    在上面的示例中,我们首先使用sqlx.Open函数打开SQLite数据库连接,指定数据库文件名(test.db)。然后,我们执行一个简单的查询,并获取查询结果。最后,我们使用defer语句关闭数据库连接。
    but此外它也提供了一个叫做MustExec的方法用于执行INSERT, UPDATE, DELETE等操作。而且你可以利用它的事务特性进行更复杂的操作。
article bottom image

相关文章推荐

发表评论