SQLore
FeaturesPricingDownloadAboutContact
Start freeStart for free
SQLore
HomeFeaturesSolutionsPricingDownloadCompareFAQAboutBlogContact

SQLore © 2026

TermsPrivacyRefunds
Download for macOSDownload for WindowsSign in
  1. Home
  2. Solutions
  3. MySQL
MySQL

Chat With Your MySQL Database

Ask a question, get rows and the query behind them. It reads your real schema first, so the answer references your tables rather than plausible-sounding ones.

Download SQLoreSee all features

How do you chat with a MySQL database?

You chat with a MySQL database by connecting a tool that introspects the schema and translates plain-English questions into SQL. SQLore reads information_schema for tables, columns, keys and statistics, generates a validated read-only SELECT, executes it against your database and returns both the rows and the query — running on a local model unless you opt into a live one.

What it reads from information_schema

MySQL exposes its metadata through `information_schema`, and SQLore reads it directly on first connection rather than working from a description of your database supplied by hand.

  • Tables and views, with the database (schema) that owns them.
  • Columns, their types, and their character set and collation.
  • Primary keys, foreign keys and indexes — the join paths and the access paths.
  • Distinct values on low-cardinality columns, so a status filter matches the stored value.
  • Table statistics, so it knows which side of a join is the large one.

Follow-ups keep the context

You ask for orders by month; then you want it by channel, excluding refunds, for the current financial year. Each refinement builds on the query already established rather than starting over — which is the whole reason a chat interface beats a query box for exploratory work.

Read-only, and enforced by MySQL too

Every generated statement is parsed to an AST and validated to a single read-only SELECT before it is executed, on a read-only connection with a statement timeout. Create a MySQL user with `GRANT SELECT` and nothing else, point SQLore at that, and the guarantee holds at the server as well — which is the configuration to use against anything you care about.

Where MySQL and Postgres genuinely differ

Identifier quoting, `ONLY_FULL_GROUP_BY`, collation rules that decide whether a comparison is case-sensitive, and a materially different set of window and CTE capabilities depending on version. Because introspection is per-engine rather than generic, the SQL comes back in the dialect your server will actually accept instead of Postgres SQL with the quotes changed.

How it works, step by step

  1. 1

    Create a read-only user

    `GRANT SELECT` on the databases you want reachable. Optional, but it is the configuration we recommend for anything in production.

  2. 2

    Add the connection

    Host, port, database and that user. Credentials stay on your machine.

  3. 3

    Let it introspect

    It reads information_schema once and caches the result locally, then builds the retrieval index over it.

  4. 4

    Ask, then refine

    Plain English in, rows and SQL out. Follow-ups narrow the answer rather than restarting it.

Frequently asked questions

Which MySQL versions work?

Support is per-engine rather than per-version, because the schema layer reads `information_schema` directly. In practice the version matters for what SQL is available rather than whether the connection works — window functions and CTEs need MySQL 8.0, and it generates for what your server supports.

Does it work with MariaDB?

MariaDB presents a compatible `information_schema` and accepts the same read-only SELECTs, so introspection and querying behave the same way. PostgreSQL and MySQL are the two engines we test and support, so treat MariaDB as working rather than guaranteed.

How does it handle ONLY_FULL_GROUP_BY?

By generating SQL that satisfies it — every selected column either grouped or aggregated. That mode is the default from MySQL 5.7 onward, and queries that ignore it are the most common way generated MySQL fails on a server that a generic generator was not written for.

Can it connect to Amazon RDS or PlanetScale?

Any MySQL you can reach with a standard client connection and a SELECT-granted user works the same way, managed or not, since introspection uses nothing but `information_schema`.

More answers on the main FAQ, or ask us directly.

Related

MySQL, in depth

AI For MySQL That Writes SQL Your Server Accepts

Read more

PostgreSQL

Chat With Your PostgreSQL Database

Read more

The interface

AI Database Chat, Where The Second Question Is The Real One

Read more

Every page in this section covers a different question about the same product. See all solutions.

SQLore platform

Stop Writing The
Same Three Joins

Start free, upgrade when you are asking enough questions for it to matter.

Start for freeContact sales
sqlore.com
Connectionretail_db

staging

analytics

Add connection

MENU

Chat

Reports

Schema

History

Settings

Rows scanned

15,600+18%

Questions

25,800+14%

Avg latency

41 ms−16%

By product

By month

By connection