Skip to content

Quickstart

Follow the steps below to start making data forecasts with MindsDB using standard SQL.

Check out our Getting Started Guide to set up and work with MindsDB using your own data and models.

1. Create a MindsDB Cloud Account

Create your free MindsDB Cloud account to start practicing right away using the MindsDB Cloud Editor.

If you prefer a local MindsDB installation, follow the Deployment guides of MindsDB documentation. You can install MindsDB in Docker or follow the standard installation using pip.

2. Connect to MindsDB from a SQL Client

You can use the MindsDB Cloud SQL Editor or open your preferred SQL client, such as DBeaver or MySQL CLI, and connect to MindsDB.

Log in to your MindsDB Cloud account. The Editor is the first thing you'll see!

To connect to MindsDB from a third-party SQL client, use the connection details below.

  "user":[your_mindsdb_cloud_username],   # your Mindsdb Cloud email address is your username
  "password":[your_mindsdb_cloud_password],
  "host":"cloud.mindsdb.com",
  "port":"3306"

If you do not have a preferred SQL client yet, we recommend using the MindsDB SQL Editor or DBeaver Community Edition. Follow this guide to set up your MindsDB SQL Editor. And here, you'll find how to connect to MindsDB from DBeaver.

3. Connecting a Database Using CREATE DATABASE

We have a sample database that you can use right away. To connect a database to your MindsDB Cloud account, use the CREATE DATABASE statement, as below.

CREATE DATABASE example_data
WITH ENGINE = "postgres",
PARAMETERS = { 
  "user": "demo_user",
  "password": "demo_password",
  "host": "3.220.66.106",
  "port": "5432",
  "database": "demo"
};

On execution, we get:

Query OK, 0 rows affected (3.22 sec)

4. Previewing Available Data

You can now preview the available data with a standard SELECT statement.

SELECT * 
FROM example_data.demo_data.home_rentals
LIMIT 10;

On execution, we get:

+-----------------+---------------------+------+----------+----------------+---------------+--------------+--------------+
| number_of_rooms | number_of_bathrooms | sqft | location | days_on_market | initial_price | neighborhood | rental_price |
+-----------------+---------------------+------+----------+----------------+---------------+--------------+--------------+
| 0.0             | 1.0                 | 484  | great    | 10             | 2271          | south_side   | 2271         |
| 1.0             | 1.0                 | 674  | good     | 1              | 2167          | downtown     | 2167         |
| 1.0             | 1.0                 | 554  | poor     | 19             | 1883          | westbrae     | 1883         |
| 0.0             | 1.0                 | 529  | great    | 3              | 2431          | south_side   | 2431         |
| 3.0             | 2.0                 | 1219 | great    | 3              | 5510          | south_side   | 5510         |
| 1.0             | 1.0                 | 398  | great    | 11             | 2272          | south_side   | 2272         |
| 3.0             | 2.0                 | 1190 | poor     | 58             | 4463          | westbrae     | 4124         |
| 1.0             | 1.0                 | 730  | good     | 0              | 2224          | downtown     | 2224         |
| 0.0             | 1.0                 | 298  | great    | 9              | 2104          | south_side   | 2104         |
| 2.0             | 1.0                 | 878  | great    | 8              | 3861          | south_side   | 3861         |
+-----------------+---------------------+------+----------+----------------+---------------+--------------+--------------+

You could also browse the databases of MindsDB using the command below.

SHOW databases;

On execution, we get:

+---------------------+
| Database            |
+---------------------+
| information_schema  |
| mindsdb             |
| files               |
| example_data        |
+---------------------+

To learn more about MindsDB tables structure, check out this guide.

5. Creating a Predictor Using CREATE PREDICTOR

Now you are ready to create your first predictor. Use the CREATE PREDICTOR statement, as below.

CREATE PREDICTOR mindsdb.home_rentals_predictor
FROM example_data
  (SELECT * FROM demo_data.home_rentals)
PREDICT rental_price;

On execution, we get:

Query OK, 0 rows affected (9.79 sec)

6. Checking the Status of a Predictor

It may take a couple of minutes until the predictor is trained. You can monitor the status of your predictor by executing the following command:

SELECT status
FROM mindsdb.predictors
WHERE name='home_rentals_predictor';

On execution, we get:

+----------+
| status   |
+----------+
| training |
+----------+

Or:

+----------+
| status   |
+----------+
| complete |
+----------+

The status of the predictor must be complete before you can start making predictions.

7. Making a Prediction Using SELECT

The SELECT statement allows you to make predictions based on features, where features are the input variables, or input columns, that are used to make forecasts.

Let's predict what would be the rental price of a 1000 square feet house with two bathrooms.

SELECT rental_price
FROM mindsdb.home_rentals_predictor
WHERE number_of_bathrooms=2
AND sqft=1000;

On execution, we get:

+--------------+
| rental_price |
+--------------+
| 1130         |
+--------------+

Congratulations

If you got this far, you have successfully trained a predictive model using SQL and got the future data!