Rust 连接 SQLite 数据库的过程解析
使用 Rust 语言连接操作 SQLite 数据库,我使用 rusqlite 这个 crate。
看例子:
首先,使用 cargo 创建一个 Rust 项目,然后添加依赖 rusqlite:
来到 main.rs,其余所有的代码都写在这里。
首先引入 rusqlite 相关的类型,并建立一个 Person struct:
Person 有三个字段,id、name 和 data,其实本例中,我们只会用到前两个字段。
下面,编写一个用来创建数据库和 person 表的函数:
该函数会创建名为 data.db 的数据库文件(如果不存在的话),然后打开一个数据库lian jie,并删除 person 表(如果存在的话),然后再建立一个 person 表,最后将 Connection 返回。
接下来,我们再创建一个 insert_data 函数,它用来插入两条数据,它使用 create_db 函数返回的 Connection 的引用作为参数:
再创建一个可以从数据库查询数据的函数 get_data,它会返回一个 Person 的 Vec:
最后,我们在 main 函数里依次调用这些函数,并把从数据库读取的数据进行打印:
运行结果:
到此这篇关于Rust 连接 SQLite 数据库的文章就介绍到这了,更多相关Rust 连接 SQLite 数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Rust 函数详解
目录 函数参数 函数返回值 高阶函数 函数指针类型 函数作为参数 函数作为返回值 相关资料 Rust 支持多种编程范式,但更偏向于函数式,函数在 Rust 中是"一等公民",函数可以作为数据在程序中进行传递.跟 C.C++ 一样, Rust 也有一个唯一的程序入口 main 函数. 示例:程序入口 main 函数 fn main() { println!("Hello, world!"); } Rust 使用 fn 关键字来声明和定义函数,使用 snake case
-
关于Rust 使用 dotenv 来设置环境变量的问题
Rust 语言是一种高效.可靠的通用高级语言.其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言. Rust语言的特点 高性能 - Rust 速度惊人且内存利用率极高.由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成. 可靠性 - Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误. 生产力 - Rust 拥有出色的文档.友好的编译器和清晰的错误提示
-
聊聊Rust 运算符
目录 一元运算符 二元运算符 算数操作符 位运算符 惰性 boolean 运算符 比较运算符 类型转换运算符 重载运算符 格式化字符串 一元运算符 顾名思义,一元操作符是专门对一个 Rust 元素进行操作的运算符,主要包括以下几个: - :取负,专门用于数值类型.实现了 std::ops::Neg. * :解引用.实现了 std::ops::Deref 或 std::ops::DerefMut. ! :取反.例如 !false 相当于 true.有意思的是,如果这个操作符对数字类型使用,会将其每
-
Rust 连接 PostgreSQL 数据库的详细过程
pgxr 是一个 Rust 的 crate 库,可以实现用 Rust 语言来编写 PostgreSQL 的扩展函数(相当于存储过程). 这次,我们使用 postgres 这个 crate 来连接和操作 PostgreSQL 数据库. 创建好项目后,在 cargo.toml 里添加 postgres 的依赖: 首先,导入相关的类型,并创建一个 Person struct: 再创建 create_db 函数,用来创建数据库和表,它返回一个 Result,里面可能是 Client 或错误: 注意,Cl
-
Rust 连接 SQLite 数据库的过程解析
使用 Rust 语言连接操作 SQLite 数据库,我使用 rusqlite 这个 crate. 看例子: 首先,使用 cargo 创建一个 Rust 项目,然后添加依赖 rusqlite: 来到 main.rs,其余所有的代码都写在这里. 首先引入 rusqlite 相关的类型,并建立一个 Person struct: Person 有三个字段,id.name 和 data,其实本例中,我们只会用到前两个字段. 下面,编写一个用来创建数据库和 person 表的函数: 该函数会创建名为 dat
-
Python3实现连接SQLite数据库的方法
本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值.分享给大家供大家参考之用.具体方法如下: 实例代码如下: import sqlite3 db = r"D:\pyWork\test.db" #pyWork目录下test.db数据库文件 drp_tb_sql = "drop table if exists staff" crt_tb_sql = """ create table if
-
Spring定时任务轮询本地数据库实现过程解析
这篇文章主要介绍了Spring定时任务轮询本地数据库实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 要做的东西很莫名其妙 可以说是数据互通的一个接口吧 当本地有表单提交后 处理一下数据 发送给另一个公司的接口 在表单提交的存库的controller里 直接处理数据 封装 并发送就完事了 . 然而领导叫我写一个接口...接收数据 处理 并发送. 到最后又改成用触发器的方式 然而写触发器的并不会用它发送http请求 我只能用Spring
-
Python连接SQLite数据库并进行增册改查操作方法详解
SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口,同样比起Mysql.PostgreSQL这两款开
-
Android Studio连接SQLite数据库的登录注册实现
1.先看一下项目目录: 2.新建一个AS项目,创建如上图所示的目录结构,然后添加内容: (1)修改添加布局文件: activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android&quo
-
Java基础MAC系统下IDEA连接MYSQL数据库JDBC过程
JDBC数据库连接 MySQL中建表 在终端使用命令mysql -u root -p打开数据库,在数据库操作环境下进行创建数据库,建表等等操作 建立数据库语句 create dababase 数据库名 建表语句 create table bookinfo( -> book_id int primary key auto_increment, -> book_name varchar(20) not null, -> price float(6,2) not null, -> pub
-
VS2019连接MySQL数据库的过程及常见问题总结
今天下午开始配置各种环境,想着VS2019可以配合MySQL一起使用.中间出了不少错误,晚上九点左右配置成功如下图所示: 接下来说说具体步骤: (1)首先准备好VS2019和MySQL的软件,各自官网都有,这里不再赘述: (2)找到MySQL的安装目录,如图,找到这两个文件夹. (3)新建一个工程后再新建一个main.cpp文件,为下面的配置环境做准备. (4)打开项目属性,点击VC++目录,在包含目录中,将MySQL安装目录中的include文件路径添加到这里,如下图所示: (5)在属性页上
-
java连接Oracle数据库的方法解析
Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id number(11) not null primary key, stu_name varchar(16) not null, gender number(11) default null, age number(11) default null, address varchar(128) default null ); 2.向表中增添一些数据
-
linux c语言操作数据库(连接sqlite数据库)
复制代码 代码如下: #include<stdio.h>#include<sqlite3.h> int select_callback(void *data,int col_count,char **col_values,char **col_name){ //每条记录回调一次该函数,有多少条就回调多少次 int i; for(i=0;i<col_count;i++) { printf("%s=%s\n",col_na
随机推荐
- 详解AngularJS中$filter过滤器使用(自定义过滤器)
- Angularjs基础知识及示例汇总
- js仿百度音乐全选操作
- Jquery解析json字符串及json数组的方法
- Ubuntu中添加应用程序快速启动器的方法
- python实现简单的TCP代理服务器
- php mysql_real_escape_string函数用法与实例教程
- Mac系统完美安装PHP7详细教程
- 利用js制作html table分页示例(js实现分页)
- javascript的indexOf忽略大小写的方法
- Java中Json字符串直接转换为对象的方法(包括多层List集合)
- sqlserver清除完全重复的数据只保留重复数据中的第一条
- Jquery EasyUI中弹出确认对话框以及加载效果示例代码
- $.extend 的一个小问题
- 使用jquery的jsonp如何发起跨域请求及其原理详解
- jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
- JS使用oumousemove和oumouseout动态改变图片显示的方法
- Java一些常见的出错异常处理方法总结
- Android 7.0调用相机崩溃详解及解决办法
- iOS实现搭建聊天页面的实例代码