Lightweight embedded SQL engine in Pascal.
- Pure Pascal – Written in Object Pascal, compiles with Free Pascal.
- Zero Historical Baggage – Clean design, no legacy compatibility hacks.
- Embedded by Design – Minimal memory footprint, ideal for resource-constrained devices.
- Modular Architecture – Core + Plus structure, pluggable components.
- Cross-Platform – Supports Windows, Linux, macOS, DOS (and more).
- Interactive REPL – Centered input line, colorful syntax hinting, built-in editor.
- MIT Licensed – Use it anywhere, freely.
- Free Pascal (>= 3.2.0)
- Lazarus IDE (optional, but recommended)
# Using Lazarus
open MuMiSQL.lpi and press F9
# Using command line (Windows)
ppc386 MuMiSQL.lpr
# Using command line (Linux/macOS)
fpc MuMiSQL.lpr./MuMiSQLThen type SQL commands in the REPL:
SELECT * FROM users WHERE age > 18;MuMiSQL/
├── Core/ # Core engine (must keep)
│ ├── Types # Type definitions
│ ├── Lexer # SQL tokenizer
│ ├── Parser # SQL parser & AST builder
│ ├── Executor # Query executor
│ ├── Storage # B-Tree / Page storage
│ └── ...
├── Plus/ # Optional extensions (can be removed)
│ ├── TUI # Text user interface
│ ├── Shell # Shell command integration
│ ├── Unicode # Unicode utilities
│ └── ...
├── repl.pas # Interactive REPL
├── commands*.pas # Built-in commands
└── MuMiSQL.lpr # Main entry point
| Command | 描述 |
|---|---|
:help |
Show available commands |
:exit |
Exit REPL |
:listen <ip> <port> |
Start TCP server |
:connect <db> |
Open another database file |
! <cmd> |
Execute system shell command |
SELECT ... FROM ... WHERE ...INSERT INTO ... VALUES ...UPDATE ... SET ... WHERE ...DELETE FROM ... WHERE ...CREATE TABLE ...DROP TABLE ...
More features (JOIN, subqueries, indexes) will come as optional Plus extensions.
Contributions are welcome! Feel free to open issues or submit pull requests.
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'Add something') - Push to the branch (
git push origin feature/amazing) - Open a Pull Request
Distributed under the MIT License. See LICENSE file for more information.