我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Rust怎么连接PostgreSQL数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Rust怎么连接PostgreSQL数据库

这篇文章主要讲解了“Rust怎么连接PostgreSQL数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Rust怎么连接PostgreSQL数据库”吧!

pgxr 是一个 Rust 的 crate 库,可以实现用 Rust 语言来编写 PostgreSQL 的扩展函数(相当于存储过程)。

这次,我们使用 postgres 这个 crate 来连接和操作 PostgreSQL 数据库。

创建好项目后,在 cargo.toml 里添加 postgres 的依赖:

Rust怎么连接PostgreSQL数据库

首先,导入相关的类型,并创建一个 Person struct:

Rust怎么连接PostgreSQL数据库

再创建 create_db 函数,用来创建数据库和表,它返回一个 Result,里面可能是 Client 或错误:

注意,Client::connect() 函数所接受的连接字符串可以是两种形式的:

Rust怎么连接PostgreSQL数据库

Key-Value 形式。例如:Client::connect("host=localhost user=postgres", NoTls)?; 具体的 key 需要查阅官方文档。URL 形式。本例中使用的是 URL 形式。

一个相对完整的数据库连接字符串 URL 格式是:

postgres://username[:password]@host[:port][/database],其中 password、port、database 都是可选的。所以上面代码中做了相应的判断处理。

Client::connect() 函数的第二个参数用的是 NoTls,为了简单起见,这里我们不使用 TLS。

第 30、32 行,使用 Client 的 execute 方法先删除数据表(如果存在的话),然后再创建 person 表。

最后返回 Client。

接下来,创建 insert_data 函数,来插入一些数据:

Rust怎么连接PostgreSQL数据库

注意该函数的参数 Client 必须是 mut 的。

再创建一个查询数据的函数:

Rust怎么连接PostgreSQL数据库

这里,我们直接对 Client 的 query 方法返回的结果进行遍历,最后方法返回一个 Vec。

最后,在 main 函数里依次调用这些函数,并把查询结果打印出来:

Rust怎么连接PostgreSQL数据库

结果如下:

Rust怎么连接PostgreSQL数据库

全部代码如下:

use postgres::{error::Error, Client, NoTls}; #[derive(Debug)]struct Person {    id: i32,    name: String,    data: Option<Vec<u8>>,}fn create_db() -> Result<Client, Error> {    let username = "postgres";    let password = "postgres";    let host = "localhost";    let port = "5432";    let database = "rust2021";    let conn_str = &format!(        "postgres://{}{}{}@{}{}{}{}{}",        username,        if password.is_empty() { "" } else { ":" },        password,        host,        if port.is_empty() { "" } else { ":" },        port,        if database.is_empty() { "" } else { "/" },        database    );    let mut client = Client::connect(conn_str, NoTls)?;    let _ = client.execute("DROP TABLE person", &[]);    client.execute(        "CREATE TABLE person (        id      SERIAL PRIMARY KEY,        name    TEXT NOT NULL,        data    BYTEA    )",        &[],    )?;    Ok(client)fn insert_data(client: &mut Client) -> Result<(), Error> {    let p1 = Person {        id: 1,        name: "Dave".to_string(),        data: None,    };    let p2 = Person {        id: 2,        name: "Nick".to_string(),        "INSERT INTO person (id, name, data)    VALUES ($1, $2, $3),    ($4, $5, $6)",        &[&p1.id, &p1.name, &p1.data, &p2.id, &p2.name, &p2.data],    Ok(())fn get_data(client: &mut Client) -> Result<Vec<Person>, Error> {    let mut persons = Vec::new();    for row in client.query("SELECT id, name, data FROM person", &[])? {        persons.push(Person {            id: row.get(0),            name: row.get(1),            data: row.get(2),        });    }    Ok(persons)fn main() -> Result<(), Error> {    let mut client = create_db()?;    insert_data(&mut client)?;    let persons = get_data(&mut client)?;    for p in persons {        println!("Person: {:?}", p);

感谢各位的阅读,以上就是“Rust怎么连接PostgreSQL数据库”的内容了,经过本文的学习后,相信大家对Rust怎么连接PostgreSQL数据库这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Rust怎么连接PostgreSQL数据库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Rust怎么连接PostgreSQL数据库

这篇文章主要讲解了“Rust怎么连接PostgreSQL数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Rust怎么连接PostgreSQL数据库”吧!pgxr 是一个 Rust 的 c
2023-06-28

python怎么连接postgresql数据库

要连接到 PostgreSQL 数据库,可以使用 psycopg2 库。首先需要安装 psycopg2:pip install psycopg2然后可以使用以下示例代码来连接到 PostgreSQL 数据库:import psycopg
python怎么连接postgresql数据库
2024-04-17

Python中怎么连接PostgreSQL数据库

今天就跟大家聊聊有关Python中怎么连接PostgreSQL数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 安装PostgreSQL数据库,数据库的下载用的可以用8.4.
2023-06-17

Rust如何连接SQLite数据库

这篇文章主要介绍Rust如何连接SQLite数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用 Rust 语言连接操作 SQLite 数据库,我使用 rusqlite 这个 crate。看例子:首先,使用 ca
2023-06-28

postgresql数据库怎么利用Java进行连接

这篇文章给大家介绍postgresql数据库怎么利用Java进行连接,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.下载驱动jar2.导入jar包新建lib文件夹,将下载的jar驱动包拖到文件夹中。将jar驱动包添加
2023-05-31

PHP连接PostgreSQL数据库遇到问题怎么办

PHP连接PostgreSQL数据库遇到问题怎么办在开发过程中,使用PHP连接PostgreSQL数据库是一种常见的操作。但是有时候在连接过程中会遇到各种问题,比如连接失败、无法执行查询等。本文将介绍一些常见的问题及解决方法,并提供具体的
PHP连接PostgreSQL数据库遇到问题怎么办
2024-02-27

Python连接PostgreSQL数据库的方法

前言 其实在Python中可以用来连接PostgreSQL的模块很多,这里比较推荐psycopg2。psycopg2安装起来非常的简单(pip install psycopg2),这里主要重点介绍下如何使用。连接数据库:import psy
2022-06-04

如何在django中连接PostgreSQL数据库

这篇文章给大家介绍如何在django中连接PostgreSQL数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、连接Postgresql需要安装先psycopg2库,它是python语言的 PostgreSQL数
2023-06-14

mysql数据库怎么连接数据库

如何连接 mysql 数据库准备连接信息:服务器地址、端口号、用户名、密码、数据库名称。使用 mysql 连接器(如 mysql workbench、phpmyadmin)或编程语言(如 python、java)连接。连接器:输入连接信息并
mysql数据库怎么连接数据库
2024-08-05

PHP连接PostgreSQL数据库的综合指南

答案:php 连接 postgresql 数据库的步骤包括:安装 postgresql 扩展配置数据库连接执行 sql 查询获取查询结果关闭连接详细描述:本指南提供了逐步说明,包括实战案例,介绍了如何使用 php 7 或更高版本连接到 po
PHP连接PostgreSQL数据库的综合指南
2024-05-21

PHP连接PostgreSQL数据库时出现错误

标题:PHP连接PostgreSQL数据库时出现错误,具体代码示例解析在进行Web开发过程中,常常需要与数据库进行交互操作,而其中连接数据库是至关重要的一步。在使用PHP语言连接PostgreSQL数据库时,有时候可能会出现一些错误,今天
PHP连接PostgreSQL数据库时出现错误
2024-02-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录