# SQL contribution layer for Spacemacs
![logo](img/sql.png)
**Table of Contents**
- [SQL contribution layer for Spacemacs](#sql-contribution-layer-for-spacemacs)
- [Description](#description)
- [Install](#install)
- [Key bindings](#key-bindings)
- [Highlighting](#highlighting)
- [Inferior Process Interactions (SQLi)](#inferior-process-interactions-sqli)
- [SQLi buffer](#sqli-buffer)
## Description
This layer adds key bindings and configuration for `sql-mode`, which manages
interactive SQL buffers and highlights a wide range of SQL dialects.
## Install
To use this contribution layer add it to your `~/.spacemacs`
```elisp
(set-default dotspacemacs-configuration-layers '(sql))
```
## Key bindings
### Highlighting
Key Binding | Description
---------------------|--------------------------------------------------------------------
SPC m h k | select a SQL dialect to highlight
### Inferior Process Interactions (SQLi)
Key Binding | Description
---------------------|--------------------------------------------------------------------
SPC m b b | show the SQLi buffer name
SPC m b s | set the SQLi buffer
SPC m l a | List all objects
SPC m l t | list all objects in a table
Send SQL queries to SQLi:
Key Binding | Description
---------------------|--------------------------------------------------------------------
SPC m s b | Send the whole buffer to the SQLi buffer
SPC m s B | Send the whole buffer to the SQLi buffer and switch to it in `insert state`
SPC m s i | Start the SQLi process
SPC m s f | Send the paragraph under the point to the SQLi buffer
SPC m s F | Send the paragraph under the point to the SQLi buffer and switch to it in `insert state`
SPC m s q | Prompt for a string to send to the SQLi buffer
SPC m s Q | Prompt for a string to send to the SQLi buffer and switch to it in `insert state`
SPC m s r | Send the selected region to the SQLi buffer
SPC m s R | Send the selected region to the SQLi buffer and switch to it in `insert state`
### SQLi buffer
Key Binding | Description
---------------------|----------------------------------------------------------------------
SPC m b r | rename buffer (follow up in the SQL buffer with SPC m b s)
SPC m b S | save the current connection