Rust 执行postgresql

postgres = "0.19.2"

use postgres::{Client, NoTls};

fn main() -> Result<(), postgres::Error> {
    let mut client = Client::connect("host=localhost dbname=test user=postgres password=postgres", NoTls)?;

    client.batch_execute("
        CREATE TABLE person (
            id      SERIAL PRIMARY KEY,
            name    TEXT NOT NULL,
            data    BYTEA
        )
    ")?;
    
    let name = "Ferris";
    let data = None::<&[u8]>;
    client.execute(
        "INSERT INTO person (name, data) VALUES ($1, $2)",
        &[&name, &data],
    )?;
    
    for row in client.query("SELECT id, name, data FROM person", &[])? {
        let id: i32 = row.get(0);
        let name: &str = row.get(1);
        let data: Option<&[u8]> = row.get(2);
    
        println!("found person: {} {} {:?}", id, name, data);
    }

    Ok(())
}  

  

posted @ 2023-08-27 16:49  CrossPython  阅读(95)  评论(0编辑  收藏  举报