Data tables
SQL storage with near-zero setup
Store and query relational data from scripts, flows, and apps. Windmill manages the database, credentials, and schema so you just write SQL.
One line to connect
Call wmill.datatable() from any script to get a database connection, then query with TypeScript, Python, DuckDB, or raw SQL. String interpolation is automatically converted to parameterized queries to prevent SQL injection.
Asset tracking and data lineage
Windmill auto-detects datatable usage in scripts and shows them as asset nodes in flows. Read vs write mode is detected automatically. Click through to the Database Explorer to inspect schemas and data.
Read the docsDatabase Studio
The Database Studio is a visual interface for exploring table data, editing rows, and managing schemas. Available in both the app editor and as a standalone tool.
Read the docsSchema organization
Use schemas to organize tables within a datatable. Set a default search path per script or use schema.table syntax. Typically one or a few datatables per workspace, with schemas for logical separation.
Full-code apps integration
Data tables are fully integrated with full-code apps on Windmill. Query them directly from backend runnables with SQL and build complete data-driven applications.
Read the docsFrequently asked questions
Build your internal platform on Windmill
Scripts, flows, apps, and infrastructure in one place.