Black Lives Matter. Support the Equal Justice Initiative and read our statement here.
sqlui-native

sqlui-native

Simple UI client for most SQL Engines. It is compatible with Windows, Mac, Ubuntu / Debian and Redhat. It supports most dialects of RMBDs like MySQL, Microsoft SQL Server, Postgres, SQLite and has limited supports for Cassandra, MongoDB and Redis.

build-main

sqlui-native

64

sqlui-native is a simple UI client for most SQL Engines written in Electron. It is compatible with most desktop OS's and support most dialects of RMBDs like MySQL, Microsoft SQL Server, Postgres, SQLite, Cassandra, MongoDB and Redis. It supports multiple Windows, so you can have different sets of queries and connections side by side. The connections and queries are all stored locally, so you can continue where you left off in later visits.

Downloads

Refer to the following link for download information.

Supported OS's

Supported Database Adapters

The list below are supported data stores. You can also refer to this link for General Queries

Features

Overall Demo

demo-full

Import and Export

Import and Export can be used to share connections across different machines and users. Below is a sample import config.

[
  {
    "_type": "connection",
    "id": "connection.1643485516220.4798705129674932",
    "connection": "postgres://postgres:password@localhost:5432",
    "name": "sy postgres"
  },
  {
    "_type": "query",
    "id": "query.1643561715854.5278536054107370",
    "name": "Employee Query on Postgres",
    "sql": "SELECT\n  *\nFROM\n  employees\nLIMIT\n  10",
    "connectionId": "connection.1643485516220.4798705129674932",
    "databaseId": "music_store"
  }
]

You can also drag and drop the file directly into sqlui-native application. At the moment, we only support drag and drop for a single file.

demo-import-export

Session Management

This application supports multiple windows / instances. Sessions are used to control which instances it persist the data with. Also these sessions, and the associated connections and queries are persisted locally. So you can continue where you left off in the future.

demo-session

Dark Mode

Dark mode will be turned on automatically with respect to your OS Preference. You can update settings to prefer Dark Mode or Light Mode if desired.

demo-darkmode

Query Tabs

Query Tab Orientation

When there is more than 20 tabs, the query tabs will be wrapped vertically.

image

Reordering Query Tabs

Query tabs can be re-ordered by drag and drop the query tabs bar.

tab-ordering

Resizing the sidebar

The left sidebar can be resized by clicking and dragging the small section between the sidebar and the query box.

sidebar-resize

Command Palette

Similar to VS Code and Sublime Text, sqlui-native comes with a command palette that lets you reach your mostly used command via a key combo CMD + P or Ctrl + P on Windows.

image

Connection Hints

Sample URI connection string can be accessed by clicking on the Show Connection Hints on New / Edit Connection Page. Then you can click on the sample URI connection to use that sample connection string as a starting place.

image

Settings

Settings can be accessed via the top right menu icon. It allows you to set up preferred settings for things like Editor and Color Theme, etc...

image

image

Contributing

Dev Note

Here is the link where you can find information about how run this application locally.

Features / TODO's:

  • Consolidate the interface for mocked server and the main.ts page.
  • Make a build for Windows and Darwin.
  • Added Basic CI/CD to package electron
  • Make a build for other systems like Debian / Ubuntu and Redhat.
  • Add a configuration / option page for color mode.
  • Enhance the table with pagination.
  • Enhance the table for result with sorting, and searching.
  • Add quick query queries (such as select from a table or do update / insert).
  • Add quick query to recreate the table definition (Create Table), Drop Table, etc....
  • Add a full screen mode (F11)
  • Add ability to save CSV / JSON / Table to files.
  • Add ability to support multiple windows and sessions..
  • Add ability to import and export connections and queries.
  • Add ability to work with multiple instances.
  • Add autocomplete tokens for the query.
  • Add dark theme (Dark mode respect system color theme).
  • Add auto update features.
  • Push a build to Microsoft Store.
  • Add supports for Cassandra
  • Add supports for Azure Table, and AWS Redshift.

Limitations

Cassandra Limitations

Cassandra Keyspaces are mapped to sqlui-native databases. And Cassandra Column Families are mapped to sqlui-native table.

MongoDB Limitations

MongoDB Collections is mapped to sqlui-native table. We scan the first 5 Documents to come up with the schema for the columns.

Create new MongoDB Database

Given the limitation of the mongodb NodeJS library, there is not a direct API that we can use to create the MongoDB database.

  • To create a mongoDB database, simply duplicate your existing DB connection
  • Update the connection string to add the new database name to the end of the list.
  • Then execute the following db.createCollection("some_collection_name") to create at least one collection.

image

image

image

Redis Limitations

Due to the size of keys within Redis connection, we will not show all keys in the Redis cache.

Suggestion?

Use the following link to file a bug or a suggestion.

not_used
Screenshot

Something missing? Edit this app.

Keyboard Shortcuts

Key Action
/ Focus the search bar
Esc Focus the search bar and cleans it
Select the next search result
Select the previous search result
Enter Open the selected search result
cmdEnter Ctrl+Enter Open the selected search result in a new tab