Rust操作MySQL數據庫實踐(一)查詢數據表


前言

Rust操作MySQL數據庫實踐(一)查詢數據表

 

內容

1.首先添加Rust MySql客戶端依賴庫,在Cargo.toml中加入mysql板條箱

[package]
name = "mysqlcon"
version = "0.1.0"
edition = "2018"
​
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
​
[dependencies]
mysql = "*"
chrono = "0.4"

  

2.代碼示例:

use mysql::*;
use mysql::prelude::*;
fn main(){
​
    //設置連接字符串
    let url="mysql://root:admin123456@localhost:3306/db01";
​
    //創建連接池
    let pool=Pool::new(url).unwrap();
​
    //連接數據庫
    let mut conn=pool.get_conn().unwrap();
​
    //數據庫操作
    //1.查詢user表
    //方式1:流式查詢  數據逐行讀取,數據不會存儲在內存中
    conn.query_iter("Select id,name,age from user").unwrap()
    .for_each(|row|{
        let r:(i32,String,i32)=from_row(row.unwrap());
        println!("id={},name={},age={}",r.0,r.1,r.2);
    });
​
    //方式2:將數據集取出存儲在Vec中
    let res:Vec<(i32,String,i32)>=conn.query("Select id,name,age from user").unwrap();
    for r in res{
        println!("id={},name={},age={}",r.0,r.1,r.2);
    }
​
    
    //方式3:將數據轉換成Struct
    struct User{
        id:i32,
        name:String,
        age:i32
    }
​
    let res=conn.query_map("Select id,name,age from user",
            |(id,name,age)|User{
                id,
                name,
                age
                }
            ).expect("QUERY FAILED");
    for user in res{
        println!("id={},name={},age={}",user.id,user.name,user.age);
    }
​
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM