当前位置: 首页 > 软件库 > 数据库相关 > >

GlueSQL

Rust 编写的 SQL 数据库引擎
授权协议 Apache-2.0
开发语言 Rust
所属分类 数据库相关
软件类型 开源软件
地区 不详
投 递 者 通博实
操作系统 跨平台
开源组织
适用人群 未知
 软件概览
GlueSQL 是一个用 Rust 编写的 SQL 数据库库。它提供了一个解析器(sqlparser-rs)、执行层和可选的存储(sled)打包成一个库。开发者可以选择使用 GlueSQL 来建立他们自己的 SQL 数据库,或者作为一个使用默认存储引擎的嵌入式 SQL 数据库。
 
你可以将 GlueSQL 作为一个嵌入式 SQL 数据库。GlueSQL 提供 sled 作为默认的存储引擎。 
use gluesql::*;
fn main() {
    let storage = SledStorage::new("data/doc-db").unwrap();
    let mut glue = Glue::new(storage);
    let sqls = vec![
        "DROP TABLE IF EXISTS Glue;",
        "CREATE TABLE Glue (id INTEGER);",
        "INSERT INTO Glue VALUES (100);",
        "INSERT INTO Glue VALUES (200);",
        "SELECT * FROM Glue WHERE id > 100;",
    ];

    for sql in sqls {
        let output = glue.execute(sql).unwrap();
        println!("{:?}", output)
    }
}

 GlueSQL 目前支持一个有限的查询子集。它正在积极开发中。

  • CREATE TABLE有 8 种类型:INTEGERFLOATBOOLEANTEXTDATETIMESTAMPTIMEINTERVAL
  • ALTER TABLE有 4 个操作:ADD COLUMNDROP COLUMNRENAME COLUMNRENAME TO
  • CREATE INDEXDROP INDEX
  • INSERTUPDATEDELETESELECTDROP TABLE
  • GROUP BYHAVING
  • ORDER BY
  • 事务查询:BEGINROLLBACKCOMMIT
  • 嵌套选择、连接、聚合...

可以在 src/tests/* 中查看当前支持的查询的测试。

  • GlueSQL:完全用Rust编写的SQL数据库,同时支持Wasm GlueSQL 正处于早期阶段,但它支持一些基本的SQL查询。主要特点: 完全用Rust编写 纯功能执行层 支持Wasm 作者在Reddit上表示,他希望在Rust项目中,可以让GlueSQL成为SQLite的替代方案。 I also hope GlueSQL to take some roles which SQLite is

 相关资料
  • 问题内容: 我对学习数据库引擎的工作方式(即它的内部)感兴趣。我知道CS中讲授的大多数基本数据结构(树,哈希表,列表等),以及对编译器理论的很好理解(并实现了一个非常简单的解释器),但我不知道该怎么做关于编写数据库引擎。我已经搜索了有关该主题的教程,但找不到任何教程,因此我希望其他人可以向我指出正确的方向。基本上,我想了解以下信息: 数据如何在内部存储(即表的表示方式等) 引擎如何查找所需的数据(

  • 问题内容: 我希望我的问题不会很荒谬,因为令人惊讶的是,就流行的网站而言(据我所知)显然还没有真正问过这个问题。 情况是我有几个csv文件,总共包含1个以上的Mio观测值。每个观察结果都包含一个邮政地址。我打算将所有文件读入一个GeoDataFrame中,对地址进行地理编码,在给定shapefile的情况下执行空间连接,并为每行保存来自多边形的一些信息。我想是相当标准的。这是一次性数据清理过程的一

  • 问题内容: 我想编写以下功能,该功能应在Excel工作表中使用: …这将通过ODBC在内部连接到SQL数据库,然后在其中执行 并将返回结果值作为函数GetRecField的结果。上面的SQL被授权仅返回一个记录(IOW KEY_FIELD具有唯一约束)。 当然,上面的函数可以在工作表中多次调用,所以请尽量避免盲目 TIA。 问题答案: 您可以编写一个自定义函数来做到这一点 打开VBA编辑器(ALT

  • 在一个Web App中,所有数据,包括用户信息、发布的日志、评论等,都存储在数据库中。在awesome-python-app中,我们选择MySQL作为数据库。 Web App里面有很多地方都要访问数据库。访问数据库需要创建数据库连接、游标对象,然后执行SQL语句,最后处理异常,清理资源。这些访问数据库的代码如果分散到各个函数中,势必无法维护,也不利于代码复用。 此外,在一个Web App中,有多个

  • 然后,test class如下所示(为了简单起见,只显示了2个测试): 最后,这里是存储库实现(CRUD)的示例: 如果我单独运行这些测试,每个测试都没有问题地通过。但是,如果我从运行所有测试,那么我就会遇到随机问题,因为数据库事务没有回滚,而是在测试之间保存和共享数据。 共享固定装置更新: 不幸的是,在批量运行我的代码测试时,结果是相同的(我保存的数据在每次测试后都会递增,而不是丢弃) 我尝试的

  • 本文向大家介绍SQL SEVER数据库重建索引的方法,包括了SQL SEVER数据库重建索引的方法的使用技巧和注意事项,需要的朋友参考一下 一.查询思路 1.想要判断数据库查询缓慢的问题,可以使用如下语句,可以列出查询语句的平均时间,总时间,所用的CPU时间等信息 2.列出数据库每个表的数据量,并且需要运维人员对业务足够了解,知道大概哪些表是查询量最多的,可以查看“排在前面的表的磁盘使用情况”:

  • 通过使用 DROP 语句,可以轻松地删除索引、表和数据库。 DROP INDEX 语句 DROP INDEX 语句用于删除表中的索引。 用于 MS Access 的 DROP INDEX 语法:DROP INDEX index_name ON table_name 用于 MS SQL Server 的 DROP INDEX 语法:DROP INDEX table_name.index_name 用

  • 问题内容: 有没有办法列出所有SQL Server CE数据库表索引,或者至少列出单个表? 问题答案: -检索有关数据库中包含的索引的信息。选择*从INFORMATION_SCHEMA.INDEXES -检索数据库中的所有表,包括系统表。选择*从INFORMATION_SCHEMA.TABLES Arjuna Chiththananda-检索SQL CE数据库的架构信息