Skip to content


Subversion checkout URL

You can clone with
Download ZIP
This is a programming exercise, do not use in serious code.
Branch: master
Failed to load latest commit information.
doc Composing more documentations
src Removed test code.


"DBGo" is a light-weight relational database engine implemented in Go programming language.
It is a programming exercise I gave to myself when I began to learn Go.

Primary features:
1. Create/rename/delete tables.
2. Add/delete table columns.
3. Insert/update/delete table rows.
4. Primary key, foreign key constraints.
5. Update restricted & delete restricted triggers.
6. Table locks: exclusive and shared locks.
7. Basic transaction management: roll-back support.
8. Relational algebras: select, project, join, redefine.
9. Only one data type: string.
10. Nicely formatted table data file (Like a spreadsheet).
11. Easy to extend and customize to suit your needs.

Please read doc/index.html for more details.

Download the source code, place it into your application's source directory.
Then follow the examples provided in src/cmd/main.go to use it.

Edit on 2013-06-25:
DBGo was originally written as a Golang practice and is not meant for serious usage as there are some serious implementation flaws.
Something went wrong with that request. Please try again.