# Database backed for DataFrames

**URL:** <https://discourse.julialang.org/t/database-backed-for-dataframes/94768>\
**Category:** Data\
**Tags:** dataframes, sql\
**Created:** [February 17, 2023, 3:24am UTC](https://discourse.julialang.org/t/database-backed-for-dataframes/94768 "2023-02-17T03:24:06Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [February 17, 2023, 9:05am UTC](https://discourse.julialang.org/t/database-backed-for-dataframes/94768/3 "2023-02-17T09:05:00Z")

</div>

A set of basic collection-like operations backed by an SQL database is available in [[ANN] SQLStore.jl: use SQL tables as persistent Julia collections](https://discourse.julialang.org/t/ann-sqlstore-jl-use-sql-tables-as-persistent-julia-collections/71796).

It presents tables with interface similar to arrays or dicts, see [the notebook](https://aplavin.github.io/SQLStore.jl/test/examples.html) for some examples. Stuff like `push!`, `filter`, `count`, etc.  
`SQLStore` is not a full Julia-SQL translation layer, so not exactly what you are looking for. Still, it is helpful for eg loading the required subset of the whole SQL table into memory. After that, just use familiar Julia in-memory tools (:

---

_[View the full topic](https://discourse.julialang.org/t/database-backed-for-dataframes/94768)._
