# SQL Editors

Dolt comes with a built-in MySQL compatible server, making it easy to connect to your Dolt databases with existing SQL tooling. Here are a list of notable MySQL Editors and our compatibility status.

| Editor                                                       | Supported | Notes and limitations                                         |
| ------------------------------------------------------------ | --------- | ------------------------------------------------------------- |
| [Tableplus](https://tableplus.com/)                          | ✅         | Recommended (see below)                                       |
| [Datagrip](https://www.jetbrains.com/datagrip/)              | ✅         | Potential information schema and backup compatibility issues. |
| [MySQL Workbench](https://www.mysql.com/products/workbench/) | ✅         | Potential information schema issues.                          |

If you experience any issues using the supported SQL editors above, please [file an issue on GitHub](https://github.com/dolthub/dolt/issues/new) so we can investigate and help.

## Setting up Dolt with Tableplus

[Tableplus](https://tableplus.com/) is the recommended SQL editor to use with Dolt. Let's clone a Dolt database and connect it to Tableplus. We have a [video](https://www.youtube.com/watch?v=0FkYraVqNjM) that walks through this experience as well.

### Step 1: Cloning a database.

Open your terminal and clone the following [database](https://www.dolthub.com/repositories/dolthub/ip-to-country/data/master).

```bash
dolt clone dolthub/ip-to-country && cd ip-to-country
```

Now run: `dolt sql -q 'show tables'` and you should see the following output

```bash
> dolt sql -q 'show tables'
+---------------+
| Table         |
+---------------+
| IPv4ToCountry |
| IPv6ToCountry |
+---------------+
```

### Step 2: Setting up your server

Dolt's sql server can be started with one command.

```bash
> dolt sql-server
Starting server with Config HP="0.0.0.0:3306"|U="root"|P=""|T="28800000"|R="false"|L="info"
```

The default configuration for our server uses a username of `root` and an empty password. You can configure access settings, logging, and timeouts by following additional documentation [here](https://docs.dolthub.com/reference/cli#dolt-sql-server).

### Step 3: Connecting our server with Tableplus

If you haven't already go ahead and install Tableplus from [here](https://tableplus.com/download):

Click on create a new connection:

![](/files/I0XkGuPKguqgdAX6RAiZ)

Hit MySQL in the selection box and fill in the following information. All the parameters are the same as for any MySQL database.

![](/files/FQ3DsCm9kMtVyZTukMUA)

When you hit `Test` you should see all the boxes turn green like in the above image. Finally, hit connect to access the Dolt server.

### Step 4: Writing queries with Tableplus

Let's start by selecting a database in the Dolt server and writing queries against it.

![](/files/3iT0LuNHUkLi5X2rIdY5)

Select the `ip_to_country` database. You should see tables populate to the left like below.

![](/files/MSgvxEWK3zeJaJYk0ZUC)

Now click on the table `IPv4ToCountry` and see the screen populate. We just read from our Dolt database!

![](/files/6ILAuAjHEsvajafTDj36)

Finally, let's write a quick query on the dataset. Click the `SQL` button in the top left and write the query in the box. Hit the `Run Current` button to execute it and the results should appear:

![](/files/me2hBiy37QpuT7MOPjxl)

That's it! You've successfully connected Dolt to Tableplus and ran your first query.

If you have any additional issues please file them [here](https://github.com/dolthub/dolt/issues).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dolthub.com/sql-reference/supported-clients/sql-editors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
