Convert Figma logo to code with AI

beekeeper-studio logobeekeeper-studio

Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.

19,573
1,246
19,573
866

Top Related Projects

44,146

Free universal database tool and SQL client

MySQL/MariaDB database management for macOS

A simple and lightweight SQL client desktop with cross database and platform support.

A lightweight client for managing MariaDB, MySQL, SQL Server, PostgreSQL, SQLite, Interbase and Firebird, written in Delphi

TablePlus macOS issue tracker

MySQL/MariaDB database management for macOS

Quick Overview

Beekeeper Studio is an open-source SQL editor and database management tool with a modern, user-friendly interface. It supports multiple database systems, including MySQL, PostgreSQL, SQLite, and more, providing a unified environment for developers and database administrators to work with various databases.

Pros

  • Cross-platform compatibility (Windows, macOS, Linux)
  • Supports multiple database systems in a single application
  • User-friendly interface with features like auto-completion and query history
  • Active development and community support

Cons

  • Limited advanced features compared to some proprietary database tools
  • Performance may be slower for very large datasets
  • Some users report occasional stability issues
  • Limited support for NoSQL databases

Getting Started

To get started with Beekeeper Studio:

  1. Visit the Beekeeper Studio website or GitHub releases page.
  2. Download the appropriate version for your operating system.
  3. Install and launch the application.
  4. Click on "New Connection" to set up a connection to your database.
  5. Choose your database type, enter the connection details, and click "Connect".
  6. Once connected, you can start writing and executing SQL queries, browsing tables, and managing your database.

For more detailed instructions and documentation, refer to the Beekeeper Studio documentation.

Competitor Comparisons

44,146

Free universal database tool and SQL client

Pros of DBeaver

  • More extensive database support, including NoSQL databases
  • Advanced features like data modeling and ERD generation
  • Larger community and more frequent updates

Cons of DBeaver

  • Heavier resource usage, potentially slower on older machines
  • Steeper learning curve due to more complex interface
  • Some advanced features require paid Enterprise Edition

Code Comparison

Both Beekeeper Studio and DBeaver are open-source projects written in Java. Here's a brief comparison of their code structure:

Beekeeper Studio (JavaScript/Vue.js):

import Vue from 'vue'
import App from './App.vue'
import store from './store'

new Vue({
  store,
  render: h => h(App)
}).$mount('#app')

DBeaver (Java):

public class Application {
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) display.sleep();
        }
        display.dispose();
    }
}

This comparison shows that Beekeeper Studio uses a modern JavaScript framework (Vue.js) for its frontend, while DBeaver uses Java with SWT for its user interface. This difference in technology stack can affect performance, cross-platform compatibility, and ease of contribution for developers familiar with different languages and frameworks.

MySQL/MariaDB database management for macOS

Pros of Sequel Pro

  • Mature and stable product with a long history of development
  • Optimized specifically for macOS, providing a native experience
  • Lightweight and fast, with minimal resource usage

Cons of Sequel Pro

  • Limited to MySQL databases only
  • Development has slowed down, with fewer updates in recent years
  • macOS-only, lacking cross-platform support

Code Comparison

Sequel Pro (Objective-C):

- (void)executeQueryInBackground:(NSString *)query
{
    [self.connection queryString:query
        completionHandler:^(SPMySQLResult *result, NSError *error) {
        // Handle query result
    }];
}

Beekeeper Studio (JavaScript/Vue.js):

async executeQuery(query) {
  try {
    const result = await this.connection.query(query)
    this.handleQueryResult(result)
  } catch (error) {
    this.handleQueryError(error)
  }
}

While both projects aim to provide database management tools, Sequel Pro focuses on MySQL and macOS, offering a native and optimized experience. Beekeeper Studio, on the other hand, supports multiple database types and platforms, using web technologies for cross-platform compatibility. The code snippets reflect their different approaches, with Sequel Pro using Objective-C and Beekeeper Studio utilizing JavaScript and modern async/await syntax.

A simple and lightweight SQL client desktop with cross database and platform support.

Pros of Sqlectron

  • Supports a wider range of databases, including Oracle and Cassandra
  • Offers a simpler, more streamlined interface
  • Provides a portable version that doesn't require installation

Cons of Sqlectron

  • Less frequent updates and maintenance compared to Beekeeper Studio
  • Lacks some advanced features like query history and saved connections
  • Has a smaller community and fewer contributors

Code Comparison

Sqlectron (React):

import React from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import { Router, hashHistory } from 'react-router';
import routes from './routes';

Beekeeper Studio (Vue.js):

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import vuetify from './plugins/vuetify'

Both projects use modern JavaScript frameworks, with Sqlectron opting for React and Beekeeper Studio using Vue.js. Sqlectron's codebase appears to be more focused on routing and state management, while Beekeeper Studio's entry point includes additional plugins like Vuetify for UI components.

Beekeeper Studio has a more active development cycle and a larger community, which may lead to more frequent updates and feature additions. However, Sqlectron offers support for a broader range of databases and a portable version, which could be advantageous for users who need these specific features.

A lightweight client for managing MariaDB, MySQL, SQL Server, PostgreSQL, SQLite, Interbase and Firebird, written in Delphi

Pros of HeidiSQL

  • Mature and feature-rich database management tool with a long development history
  • Supports a wider range of database systems, including MySQL, MariaDB, PostgreSQL, and Microsoft SQL Server
  • Offers advanced features like database synchronization and SSH tunnel support

Cons of HeidiSQL

  • Windows-only application, limiting cross-platform usage
  • User interface may feel outdated compared to more modern alternatives
  • Less frequent updates and slower adoption of new features

Code Comparison

HeidiSQL (Delphi):

procedure TMainForm.FormCreate(Sender: TObject);
begin
  Caption := APPNAME + ' ' + AppVersion;
  SetWindowSizeGrip(Handle, True);
  RestoreSettings;
end

Beekeeper Studio (JavaScript/Vue.js):

export default {
  name: 'App',
  created() {
    this.$store.dispatch('loadSettings')
    this.$store.dispatch('loadConnections')
  }
}

Both projects use different programming languages and frameworks, reflecting their distinct approaches to database management tools. HeidiSQL's Delphi code focuses on Windows-specific functionality, while Beekeeper Studio's JavaScript/Vue.js code emphasizes cross-platform compatibility and modern web technologies.

TablePlus macOS issue tracker

Pros of TablePlus

  • Sleek and intuitive user interface
  • Supports a wide range of database systems
  • Offers advanced features like query history and data export

Cons of TablePlus

  • Closed-source and proprietary software
  • Limited customization options compared to open-source alternatives
  • Paid software with subscription-based pricing model

Code Comparison

While both Beekeeper Studio and TablePlus are database management tools, their codebases are not directly comparable due to TablePlus being closed-source. However, we can look at how they handle database connections:

Beekeeper Studio (JavaScript):

async function connectToDatabase(connection) {
  const client = new Client(connection)
  await client.connect()
  return client
}

TablePlus (Conceptual pseudocode, as the actual code is not available):

func connectToDatabase(_ connection: DatabaseConnection) -> Database? {
    let database = Database(connection: connection)
    database.connect()
    return database
}

Both projects likely implement similar functionality for database connections, but the specific implementation details of TablePlus are not publicly available for comparison.

MySQL/MariaDB database management for macOS

Pros of Sequel-Ace

  • Native macOS application, providing a more integrated and optimized experience for Mac users
  • Supports SSH tunneling for secure remote database connections
  • Offers a bundle system for extending functionality and customization

Cons of Sequel-Ace

  • Limited to macOS, not cross-platform like Beekeeper Studio
  • Primarily focused on MySQL databases, while Beekeeper Studio supports multiple database types
  • Less frequent updates and potentially slower development cycle

Code Comparison

While both projects are database management tools, their codebases differ significantly due to their underlying technologies. Sequel-Ace is primarily written in Objective-C and Swift for macOS, while Beekeeper Studio uses JavaScript with Vue.js for cross-platform support.

Sequel-Ace (Objective-C):

- (void)executeQueryInBackground:(NSString *)query {
    [self.connection queryString:query
        completionHandler:^(SPMySQLResult *result, NSError *error) {
        // Handle query result
    }];
}

Beekeeper Studio (JavaScript):

async function executeQuery(query) {
  try {
    const result = await connection.query(query)
    return result
  } catch (error) {
    console.error('Query execution error:', error)
  }
}

These code snippets illustrate the different approaches to query execution in each application, reflecting their respective programming languages and architectures.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Beekeeper Studio

Beekeeper Studio is a cross-platform SQL editor and database manager available for Linux, Mac, and Windows.

Download Beekeeper Studio

We publish binaries for MacOS, Windows, and Linux.

image

Beekeeper Studio is free to download and provides a lot of features for free, no sign-up, registration, or credit card required. The app provides some premium features for a reasonable cost license fee. Learn more here

Most of the code in this repo is open source under the GPLv3 license. Paid features are also in this repository under a commercial source-available license.

We welcome community contributions!

Supported Databases

DatabaseSupportCommunityPaid EditionsBeekeeper Links
PostgreSQL⭐ Full Support✅✅Features
MySQL⭐ Full Support✅✅Features
SQLite⭐ Full Support✅✅Features, Docs
SQL Server⭐ Full Support✅✅Features
Amazon Redshift⭐ Full Support✅✅Features
CockroachDB⭐ Full Support✅✅Features
MariaDB⭐ Full Support✅✅Features
TiDB⭐ Full Support✅✅Features
Google BigQuery⭐ Full Support✅✅Features, Docs
Oracle Database⭐ Full Support✅Features, Docs
Cassandra⭐ Full Support✅Features
Firebird⭐ Full Support✅Features, Docs
LibSQL⭐ Full Support✅Features
ClickHouse⭐ Full Support✅Features, Docs
DuckDB⭐ Full Support✅Features, Docs
SQL Anywhere⭐ Full Support✅Features
MongoDB⭐ Full Support✅Features, Docs
Snowflake⏳ Coming Soon✅--
Trino / Presto⏳ Coming Soon✅--
Redis🗓️ Planned✅--
DynamoDB🗓️ Planned✅--

Editions of Beekeeper Studio

Beekeeper Studio is a single download with in-app upgrades for premium features.

We'd love to make Beekeeper Studio totally free for everyone, but building good software is hard work and expensive. We think our paid editions are fairly priced, I hope you do too.

👉 Compare Beekeeper Studio Editions

Beekeeper Studio Features

Top feature: It's smooth 🍫, fast 🏎, and you'll actually enjoy using it 🥰

  • Truly cross-platform: Windows, MacOS, and Linux
  • Autocomplete SQL query editor with syntax highlighting
  • Tabbed interface, so you can multitask
  • Sort and filter table data to find just what you need
  • Sensible keyboard-shortcuts
  • Save queries for later
  • Query run-history, so you can find that one query you got working 3 days ago
  • Great dark theme
  • Import/export
  • Backup/restore
  • View data as JSON
  • Loads more

Our approach to UX

One of our frustrations with other open-source SQL editors and database managers is that they take a 'kitchen sink' approach to features, adding so many features that the UI becomes cluttered and hard to navigate. We wanted a good looking, open source SQL workbench that's powerful, but also easy to use. We couldn't find one, so we created Beekeeper Studio!

Generally our guiding star is to only build software that 'feels good' to use. That means at the very least we value Beekeeper being fast, straightforward to use, and modern. If a new feature compromises this vision, we kill it.

Supporting Beekeeper Studio

We love working on Beekeeper Studio, and we'd love to keep growing and improving it forever. To do that I need your help.

The best way to support Beekeeper Studio is to purchase a paid license. Every purchase directly supports our work on Beekeeper Studio.

If you're at a business and using Beekeeper Studio for your job, you should probably get your boss to buy you a license.

If you can't afford a license, please use the free version, that's why we make a free version!

Thank you for your continued support!

Documentation

Check out docs.beekeeperstudio.io for user guides, FAQs, troubleshooting tips, and more.

License

Beekeeper Studio Community Edition (the code in this repository) is licensed under the GPLv3 license.

Beekeeper Studio Ultimate Edition contains extra features and is licensed under a commercial end user agreement (EULA).

Beekeeper Studio's trademarks (words marks and logos) are not open source. See our trademark guidelines for more information.

Trademark Guidelines

Trademarks can be complicated with open source projects, so we have adapted a set of standard guidelines for using our trademarks that are common to many open source projects.

If you are just using the Beekeeper Studio app, and you are not forking or distributing Beekeeper Studio code in any way, these probably don't apply to you.

👉 Beekeeper Studio Trademark Guidelines

Contributing to Beekeeper Studio

We love any community engagement. Even if you're complaining because you don't like something about the app!

Contributor Agreements

  • Building an inclusive and welcoming community is important to us, so please follow our code of conduct as you engage with the project.

  • By contributing to the project you agree to the terms of our contributor guidelines.

Contribute without coding

We have you covered, read our guide to contributing in 10 minutes without coding.

Compiling and Running Beekeeper Studio Locally

Want to write some code and improve Beekeeper Studio? Getting set-up is easy on Mac, Linux, or Windows.

# First: Install NodeJS 20, NPM, and Yarn
# ...

# 1. Fork the Beekeeper Studio Repo (click fork button at top right of this screen)
# 2. Check out your fork:
git clone git@github.com:<your-username>/beekeeper-studio.git beekeeper-studio
cd beekeeper-studio/
yarn install # installs dependencies


# Now you can start the app:
yarn run electron:serve ## the app will now start

If you get error:03000086:digital envelope routines::initialization error, you'll have to update openssl.

  • On Ubuntu/Debian:
sudo apt-get update
sudo apt-get upgrade openssl
  • On CentOS/RHEL:
sudo yum update openssl
  • On macOS (using Homebrew):
brew update
brew upgrade openssl

Where to make changes?

This repo is now a monorepo, we have several places with code, but only really a couple of important entry points.

All app code lives in apps/studio, some shared code lives in shared/src. This is shared with other apps.

Beekeeper Studio has two entry points:

  • background.js - this is the electron-side code that controls native things like showing windows.
  • main.js - this is the entry point for the Vue.js app. You can follow the Vue component breadcrumbs from App.vue to find the screen you need.

Generally we have two 'screens':

  • ConnectionInterface - connecting to a DB
  • CoreInterface - interacting with a database

How to submit a change?

  • Push your changes to your repository and open a Pull Request from our github page (this page)
  • Make sure to write some notes about what your change does! A gif is always welcome for visual changes.

Maintainer notes (casual readers can ignore this stuff)

Upgrading Electron Gotchas

This is always a total pain and will break the build 9/10.

Some things you need to consider when upgrading Electron:

  1. Does it use a different node version. Eg Electron-18 uses node 14, 22 uses node 16. So everyone needs to upgrade
  2. Does node-abi need to be upgraded to be able to understand the electron version? This is used in the build to fetch prebuilt packages. You need to upgrade this in root/package.json#resolutions
  3. Were any APIs deprecated or removed? Make sure all features that interact with the Electron APIs still work, stuff like - selecting a file, maximizing a window, running a query, etc.

Release Process

  1. Up the version number in package.json
  2. Replace build/release-notes.md with the latest release notes. Follow the format that is there.
  • run git log <last-tag>..HEAD --oneline | grep 'Merge pull' to find PRs merged
  1. Commit
  2. Push to master
  3. Create a tag git tag v<version>. It must start with a 'v'
  4. git push origin <tagname>
  • Now wait for the build/publish action to complete on Github
  1. Push the new release live
  • Go to the new 'draft' release on the releases tab of github, edit the notes, publish
  • Log into snapcraft.io, drag the uploaded release into the 'stable' channel for each architecture.

This should also publish the latest docs

Post Release:

  1. Copy release notes to a blog post, post on website
  2. Tweet link
  3. Share on LinkedIn
  4. Send to mailing list on SendInBlue

Big Thanks

Beekeeper Studio wouldn't exist without Sqlectron-core, the core database libraries from the Sqlectron project. Beekeeper Studio started as an experimental fork of that repository. A big thanks to @maxcnunes and the rest of the Sqlectron community.

The original license from sqlectron-core is included here:

Copyright (c) 2015 The SQLECTRON Team

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.