> ## Documentation Index
> Fetch the complete documentation index at: https://ngquct-docs-fix-500-query-results.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start

> Connect to your first database and run a query in a few minutes

With no connections saved, the welcome window offers **Try Sample Database**, a bundled Chinook SQLite file that needs no server and drops you at step 4. Reset it any time from **Help > Reset Sample Database…**.

<Steps>
  <Step title="Install TablePro">
    `brew install --cask tablepro`, or the DMG from GitHub Releases. See [Installation](/installation).
  </Step>

  <Step title="Create a connection">
    Click **Create Connection…** in the welcome window, pick a type in the **Choose a Database** sheet, then click **Continue**. A type badged **Not Installed** downloads its driver before the form opens, with no restart.

    <Frame caption="Pick a database type">
      <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/database-type-chooser.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=b86618d643dceb041fb5df79da45e7d7" alt="Database type chooser" width="1400" height="964" data-path="images/database-type-chooser.png" />

      <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/database-type-chooser-dark.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=f0738bf8a717df269dbe678d0c9af045" alt="Database type chooser" width="1400" height="964" data-path="images/database-type-chooser-dark.png" />
    </Frame>

    <Tip>
      Already have a connection URL, another client's connections, or a repository with a `.env`? **Add from Existing** takes all three. See [Switching to TablePro](/switching).
    </Tip>
  </Step>

  <Step title="Fill in the form, test it, save it">
    The host pre-fills to `localhost` and the port to the engine's default. Username is optional: leave it empty and the database applies its own default. SQLite asks for a `.sqlite` or `.db` file instead of a host, with no credentials.

    <Frame caption="PostgreSQL connection form">
      <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/connection-form-general.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=a530ed73f40c0e46504803b25f3a71d1" alt="Connection form" width="1440" height="1224" data-path="images/connection-form-general.png" />

      <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/connection-form-general-dark.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=e5c098643d4aea7386725b087561b14e" alt="Connection form" width="1440" height="1224" data-path="images/connection-form-general-dark.png" />
    </Frame>

    Click **Test Connection** in the **Status** row at the bottom of the General pane. It turns into **Connected** with a green checkmark. Now click **Save & Connect** in the toolbar.

    <Frame caption="Test Connection succeeded">
      <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/connection-test.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=dec228dd0fb0c16b6e345de2365dd87a" alt="Connection test success" width="1440" height="1224" data-path="images/connection-test.png" />

      <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/connection-test-dark.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=4debc00cfc63c528bde524aef9291067" alt="Connection test success" width="1440" height="1224" data-path="images/connection-test-dark.png" />
    </Frame>

    <Check>
      The window switches to the main layout: databases and tables in the sidebar, the open tab in the middle, the inspector on the right.
    </Check>

    A failed attempt paints the window with the driver's own message and a **Try Again** button instead. [Troubleshooting](/troubleshooting) sorts refused from timed out.
  </Step>

  <Step title="Run a query">
    Click a table in the sidebar to browse it. For SQL, press `Cmd+T` for a query tab, type, and press `Cmd+Enter` to run the statement under the cursor.

    <Frame caption="A table tab showing the data grid">
      <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/app.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=1b60b66bc2aeb6205ce62b69390037ed" alt="Main interface" width="3024" height="1722" data-path="images/app.png" />

      <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/app-dark.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=cc3e3ccb98f28e997739ab5171f519a7" alt="Main interface" width="3024" height="1722" data-path="images/app-dark.png" />
    </Frame>

    ```sql theme={null}
    SELECT * FROM users LIMIT 10;
    ```
  </Step>
</Steps>

## What's next

[Managing connections](/connections), [SSH tunneling](/connections/ssh-tunneling), [keyboard shortcuts](/features/keyboard-shortcuts), and [AI features](/features/ai-assistant). Anything that goes wrong is worth an [issue](https://github.com/TableProApp/TablePro/issues).
