使用RustSQLite打造SQLite数据库应用指南
// 引入Rust SQLite库
use sqlite::{Connection, OpenFlags};
fn main() {
// 尝试打开或创建数据库
let db = Connection::open(
"path/to/database.db",
OpenFlags::SQLITE_OPEN_READ_WRITE | OpenFlags::SQLITE_OPEN_CREATE,
);
match db {
Ok(conn) => {
// 创建一个新表
conn.execute(
"CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL
)",
[],
).expect("创建表失败");
// 插入数据
conn.execute(
"INSERT INTO users (name) VALUES (?)",
&[&"Alice"],
).expect("插入数据失败");
// 查询数据
let mut stmt = conn.prepare(
"SELECT id, name FROM users WHERE name = ?",
).expect("准备查询语句失败");
let user_name = "Alice";
let user_iter = stmt.query_map([user_name], |row| {
row.get(0) // 获取第一列的值
}).expect("查询失败");
// 遍历查询结果
for user_id in user_iter {
println!("用户ID: {}", user_id.expect("获取结果失败"));
}
}
Err(e) => {
println!("数据库打开失败: {}", e);
}
}
}
这段代码展示了如何使用Rust的SQLite库来打开或创建一个SQLite数据库,创建一个新表,插入数据,以及查询数据。代码使用了错误处理来确保在遇到问题时程序不会崩溃,并且展示了如何使用预处理语句来提高代码的安全性和可读性。
评论已关闭