Rust 連接 SQLite 數(shù)據(jù)庫的過程解析
使用 Rust 語言連接操作 SQLite 數(shù)據(jù)庫,我使用 rusqlite 這個(gè) crate。
看例子:
首先,使用 cargo 創(chuàng)建一個(gè) Rust 項(xiàng)目,然后添加依賴 rusqlite:

來到 main.rs,其余所有的代碼都寫在這里。
首先引入 rusqlite 相關(guān)的類型,并建立一個(gè) Person struct:

Person 有三個(gè)字段,id、name 和 data,其實(shí)本例中,我們只會(huì)用到前兩個(gè)字段。
下面,編寫一個(gè)用來創(chuàng)建數(shù)據(jù)庫和 person 表的函數(shù):

該函數(shù)會(huì)創(chuàng)建名為 data.db 的數(shù)據(jù)庫文件(如果不存在的話),然后打開一個(gè)數(shù)據(jù)庫lian jie,并刪除 person 表(如果存在的話),然后再建立一個(gè) person 表,最后將 Connection 返回。
接下來,我們再創(chuàng)建一個(gè) insert_data 函數(shù),它用來插入兩條數(shù)據(jù),它使用 create_db 函數(shù)返回的 Connection 的引用作為參數(shù):

再創(chuàng)建一個(gè)可以從數(shù)據(jù)庫查詢數(shù)據(jù)的函數(shù) get_data,它會(huì)返回一個(gè) Person 的 Vec:

最后,我們在 main 函數(shù)里依次調(diào)用這些函數(shù),并把從數(shù)據(jù)庫讀取的數(shù)據(jù)進(jìn)行打?。?/p>

運(yùn)行結(jié)果:

到此這篇關(guān)于Rust 連接 SQLite 數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Rust 連接 SQLite 數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Rust-使用dotenvy加載和使用環(huán)境變量的過程詳解
系統(tǒng)的開發(fā),測試和部署離不開環(huán)境變量,今天分享在Rust的系統(tǒng)開發(fā)中,使用dotenvy來讀取和使用環(huán)境變量,感興趣的朋友跟隨小編一起看看吧2023-11-11
Rust使用Sled添加高性能嵌入式數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了如何在Rust項(xiàng)目中使用Sled庫,一個(gè)為Rust生態(tài)設(shè)計(jì)的現(xiàn)代、高性能嵌入式數(shù)據(jù)庫,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
Rust動(dòng)態(tài)調(diào)用字符串定義的Rhai函數(shù)方式
Rust中使用Rhai動(dòng)態(tài)調(diào)用字符串定義的函數(shù),通過eval_expression_with_scope實(shí)現(xiàn),但參數(shù)傳遞和函數(shù)名處理有局限性,使用FnCall功能更健壯,但更復(fù)雜,總結(jié)提供了更通用的方法,但需要處理更多錯(cuò)誤情況2025-02-02
rust 如何使用 cargo-nextest 替代 cargo te
cargo-nextest 是新一代的rust測試程序,能夠極大提升測試性能,可以完全替代 cargo test 命令,這篇文章主要介紹了rust 如何使用 cargo-nextest 替代 cargo test,需要的朋友可以參考下2024-05-05
C和Java沒那么香了,Serverless時(shí)代Rust即將稱王?
Serverless Computing,即”無服務(wù)器計(jì)算”,其實(shí)這一概念在剛剛提出的時(shí)候并沒有獲得太多的關(guān)注,直到2014年AWS Lambda這一里程碑式的產(chǎn)品出現(xiàn)。Serverless算是正式走進(jìn)了云計(jì)算的舞臺(tái)2021-06-06

