Rust
SQLx
參考資訊:
1. gitee
2. ithome
安裝SQLite
$ sudo apt-get install sqlite sqlitebrowser -y
建立Database
$ export DATABASE_URL="sqlite:test.db" $ cd $ sqlx migrate add test $ vim migrations/xxx_test.sql -- Add migration script here CREATE TABLE account ( name TEXT PRIMARY KEY, password TEXT NOT NULL ); $ sqlx db create $ sqlx migrate run $ sqlitebrowser test.db
產生樣板
$ cargo new hello $ cp test.db hello $ cd hello
Cargo.toml
[package] name = "hello" version = "0.1.0" edition = "2021" [dependencies] sqlx = { version = "0.5.7", features = [ "runtime-tokio-rustls", "sqlite" ] } tokio = { version = "1.12.0", features = ["full"] } anyhow = "1.0" futures = "0.3"
src/main.rs
use sqlx::sqlite::SqlitePool; #[tokio::main] async fn main() -> anyhow::Result<()> { let pool = SqlitePool::connect("sqlite:test.db").await?; let user : &str = "test"; let pass : &str = "1234"; let _add = sqlx::query!(r#"insert into account(name, password) values($1, $2)"#, user, pass).fetch_all(&pool).await?; Ok(()) }
執行
$ cargo run $ sqlitebrowser test.db