Databases
This section describes interfaces with database management systems.
Database | Rust crates |
---|---|
SQL Databases | sqlx ⮳ (supports multiple databases) |
PostgreSQL | tokio-postgres ⮳, postgres ⮳ |
MySQL | mysql_async ⮳, sqlx ⮳ (with MySQL support) |
SQLite | rusqlite ⮳ |
MongoDB | mongodb ⮳ |
Redis | redis ⮳ |
Object-Relational Mappers (ORMs) | diesel ⮳, sea-orm ⮳ |
Database Migrations | sea-orm-cli ⮳ (for SeaORM), diesel_cli (for Diesel), migrate ⮳ |
Connection Pooling | bb8 ⮳, deadpool ⮳ |
Code Examples
SQLite
Recipe | Crates | Categories |
---|---|---|
Create a SQLite Database | ||
Insert and Select Data | ||
Using Transactions |
Postgres
Recipe | Crates | Categories |
---|---|---|
Create Tables in a Postgres Database | ||
Insert and Query Data | ||
Aggregate Data | ||
Connect to and Query Postgres Asynchronously with tokio-postgres | ||
cornucopia for Postgres | cornucopia-rs⮳ |
Microsoft SQL Server (MSSQL)
Recipe | Crates | Categories |
---|---|---|
tiberius |
Oracle DB
Recipe | Crates | Categories |
---|---|---|
diesel_oci | ||
Connect to an Oracle Database with oracle | ||
sibyl |
Connection Pools
Recipe | Crates | Categories |
---|---|---|
Create a Connection Pool |
Query Builders and ORMs
NoSQL and Friends
Recipe | Crates | Categories |
---|---|---|
Connect to MongoDB | ||
Connect to Redis | ||
Connect to Cassandra Using cassandra_protocol | ||
Connect to Cassandra Using cdrs_tokio |
Key-Value Stores
Search
Recipe | Crates | Categories |
---|---|---|
Connect to Elasticsearch | ||
Add a Full-text Search Engine to a Static Website |
Message Queues (AMQP)
Recipe | Crates | Categories |
---|---|---|
Connect to RabbitMQ with lapin |