Skip to content
This repository has been archived by the owner on Dec 6, 2022. It is now read-only.

mertcandav/MochaDB

Repository files navigation

alt text

license CodeFactor .NET Core Build Status Build Status
Documentation

MochaDB is a user-friendly, loving database system that loves to help.

NOTICE

This project was the first serious project that I decided to do on my own when I first got into programming.
This system promises many things, but does not provide some. For example: ACID support or RDBMS features.
Moreover, this is an abandoned project.

Please do not take this project seriously.
It was written with the keyboard of someone who just wanted to develop something that was difficult for him.
These strange codes that don't do what they promise, they're just here to remember the past.

Featured Features

  • Open source and free for everyone
  • High performance
  • Lightweight
  • ACID support
  • RDBMS(Relational Database Management System) features
  • MHQ(MochaDB Query) for simple and fast queries
  • MHQL(MochaDB Query Language) for advanced queries

Compatibility

MochaDB

.NET Standard .NET Core .NET Framework
1.3 or higher 1.1 or higher 4.0 or higher

MochaDB Server

.NET Core 3.1 or higher

MochaDB Terminal

.NET Core 3.1 or higher

Components

Work with MHQL

Perform deep queries with MHQL and avoid complex tasks manually.

USE Name AS Username,
    $CompanyId,
    COUNT() AS Count of users
FROM Persons MUST
Name = "mertcandav" AND
  IN CompanyId {
    USE Id, $Name FROM Companies MUST
    Name = "Microsoft"
  }
CORDERBY ASC
ORDERBY Name
GROUPBY Name
SUBROW 100

Example Use

using MochaDB;
using MochaDB.Mhql;

// Create your database connection.
var database = new MochaDatabase(path: "db", password: "1231", logs: false);
var username = Console.ReadLine(); // Get username from user.
var password = Console.ReadLine(); // Get password from user.
database.Connect(); // Connect to database.

// Get table filtered by username and password with using mhql query.
var result = new MochaDbCommand(database).ExecuteScalar(
    $@"USE Username, Password
       FROM Persons
       MUST Username = ""{username}"" AND
       Password = ""{password}""");

database.Disconnect(); // Disconnect from database.
if (!result.Any()) // If table is empty.
{
    Console.WriteLine("Username or password is wrong!");
}
else
{
    Console.WriteLine("Success!");
}

License

MochaDB is distributed under the terms of the MIT license.
See license details.