# Databricks
This page provides information on connecting your application to Databricks, which enables you to explore and analyze large volumes of data using SQL.
## Connect Databricks
### Connection parameters
The following section is a reference guide that provides a complete description of all the parameters to connect to a Databricks datasource.
#### Configuration method
This method allows you to select a configuration type.
*Options*
* **JDBC**: JDBC (Java Database Connectivity) provides a standardized approach to connect to Databricks databases. This method allows you to add a **JDBC URL** for authentication.
* **Use form properties**: This method allows you to customize and define specific connection parameters such as host, port, HTTP path, default catalog, and default schema.
#### JDBC URL
JDBC URL (Java Database Connectivity Uniform Resource Locator) is a string of characters that specifies the address and parameters needed to connect to a Databricks database using JDBC.
*Example format*:
```
jdbc:databricks://:443;httpPath=[;=;=;=]
```
* ``: Replace this placeholder with the hostname or IP address of your Databricks workspace server.
* `443`: Indicates the port number (default is 443) for the JDBC connection.
* `httpPath=`: Specifies the HTTP path for the connection.
* `[;=;=;=]`: Additional optional settings and their corresponding values. These settings can include authentication details, catalog, schema, etc.
Learn more about [JDBC URL](https://docs.databricks.com/en/integrations/jdbc/authentication.html)
#### Personal access token
A Personal Access Token is a secure authentication token used to access resources within Databricks.
To create a Databricks personal access token, go to User Settings in your workspace, navigate to Developer, click Manage next to Access tokens, and generate a new token, `e.g., dapi69test66c547ee2sample51d9f1007`.
Learn more about [Personal access tokens](https://docs.databricks.com/en/dev-tools/auth/pat.html)
#### Host
This property specifies the server hostname or IP address of your Databricks workspace. Example, `dbc-dbtest-ea55.cloud.databricks.com`
#### Port
This property defines the port number to establish the connection. The default port is set to `443`, which is commonly used for secure HTTPS connections.
#### HTTP Path
Indicates the path for the HTTP connection. It represents the specific endpoint or location within your Databricks workspace where the connection is directed. Example, `/sql/1.0/warehouses/6123123test`
#### Default Catalog
Refers to the default database catalog to be used in your Databricks connection. It specifies the database where the tables and data are stored.
#### Default Schema
This property defines the default schema to be used in the connection. A schema is a logical container for database objects (tables, views, etc.), and specifying a default schema streamlines queries by indicating where to find these objects.
## Query Databricks
The following section provides examples of creating basic CRUD queries on Databricks. The syntax and operations are similar to standard [SQL](/connect-data/reference/querying-postgres), and Databricks supports common SQL commands for creating, reading, updating, and deleting data.
### Fetch data
```sql
-- Use quotes for non-integer values
SELECT *
FROM default.customer
LIMIT {{ tableUsers.pageSize }} OFFSET {{ tableUsers.pageOffset }};
```
This comment fetches customer data from the `default.customer` table using the page size and offset values provided by Table widget. If the values are non-integer, make sure to enclose them in quotes.
For more information on how to fetch paginated data, see [Setup Server-Side Pagination on Table](/build-apps/how-to-guides/Server-side-pagination-in-table).
### Update data
```sql
-- Use quotes for non-integer values
UPDATE default.customer
SET email = '{{emailInput.text}}'
WHERE id = {{ tableUsers.selectedRow.id}};
```
This command dynamically updates customer details based on user input. If the values are non-integer, make sure to enclose them in quotes.
For more information on how to update Table data, see [Update Data Guide](/build-apps/how-to-guides/submit-form-data).
### Insert data
```sql
-- Use quotes for non-integer values
INSERT INTO default.customer
VALUES (
'{{ nameInput.text }}',
'{{ genderDropdown.selectedOptionValue }}',
'{{ emailInput.text }}'
);
```
This command dynamically inserts a new customer into the database. If the values are non-integer, make sure to enclose them in quotes.
For more information on how to insert data, see [Insert Data](/build-apps/how-to-guides/insert-data).
### Delete data
```sql
-- Use quotes for non-integer values
DELETE FROM default.customer
WHERE id = {{tableUsers.selectedRow.id}};
```
This command dynamically deletes a customer based on their ID, obtained from the selected row in the Table. If the values are non-integer, make sure to enclose them in quotes.
For information on how to delete data in a Table, see [Delete Data in Table](/reference/widgets/table/inline-editing#delete-row).