发布时间:2024-11-23 18:13:09
SQLite是一种嵌入式数据库引擎,它以轻量级和高性能著称。Golang是一种强大的开发语言,拥有出色的并发性能和简洁的语法。本文将介绍如何使用Golang连接SQLite数据库。
在开始之前,我们需要安装Golang的SQLite驱动。打开终端并执行以下命令:
go get github.com/mattn/go-sqlite3
这将下载并安装go-sqlite3驱动程序。
在项目中导入"database/sql"和"go-sqlite3"库:
import (
"database/sql"
_ "github.com/mattn/go-sqlite3"
)
使用sql.Open()
函数连接到SQLite数据库:
db, err := sql.Open("sqlite3", "./database.db")
if err != nil {
fmt.Println(err)
return
}
这将创建一个名为"database.db"的SQLite数据库文件(如果文件不存在)或者打开现有的数据库文件。
要在数据库中创建表格,可以使用以下代码:
createTableSQL := `
CREATE TABLE IF NOT EXISTS employees (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER
);
`
_, err = db.Exec(createTableSQL)
if err != nil {
fmt.Println(err)
return
}
这将创建一个名为"employees"的表格,包含"id"、"name"和"age"字段。
要向表格中插入数据,可以使用以下代码:
insertSQL := `
INSERT INTO employees (name, age) VALUES (?, ?)
`
stmt, err := db.Prepare(insertSQL)
if err != nil {
fmt.Println(err)
return
}
defer stmt.Close()
_, err = stmt.Exec("John Doe", 35)
if err != nil {
fmt.Println(err)
return
}
这将在"employees"表格中插入一条记录,其中"name"为"John Doe","age"为35。
要从表格中查询数据,可以使用以下代码:
selectSQL := `
SELECT id, name, age FROM employees WHERE age > ?
`
rows, err := db.Query(selectSQL, 30)
if err != nil {
fmt.Println(err)
return
}
defer rows.Close()
for rows.Next() {
var id int
var name string
var age int
err = rows.Scan(&id, &name, &age)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("ID: %d, Name: %s, Age: %d\n", id, name, age)
}
这将从"employees"表格中查询年龄大于30的记录,并打印每条记录的ID、名称和年龄。
要更新表格中的数据,可以使用以下代码:
updateSQL := `
UPDATE employees SET name = ? WHERE id = ?
`
stmt, err := db.Prepare(updateSQL)
if err != nil {
fmt.Println(err)
return
}
defer stmt.Close()
_, err = stmt.Exec("Jane Doe", 1)
if err != nil {
fmt.Println(err)
return
}
这将更新"employees"表格中ID为1的记录的名称为"Jane Doe"。
要从表格中删除数据,可以使用以下代码:
deleteSQL := `
DELETE FROM employees WHERE age < ?
`
stmt, err := db.Prepare(deleteSQL)
if err != nil {
fmt.Println(err)
return
}
defer stmt.Close()
_, err = stmt.Exec(25)
if err != nil {
fmt.Println(err)
return
}
这将从"employees"表格中删除年龄小于25的记录。
最后,不要忘记在程序结束时关闭数据库连接:
db.Close()
这样可以确保与数据库的连接被正确释放。
本文介绍了使用Golang连接SQLite数据库的基本操作,包括连接数据库、创建表格、插入数据、查询数据、更新数据和删除数据。SQLite提供了一种轻量级且高性能的解决方案,而Golang则提供了强大的并发能力和简洁的语法。将它们结合起来可以实现高效的数据库操作。