# Keywords & Identifiers

SQL statements consist of two fundamental components:

- Keywords: Words with specific meaning in SQL like `CREATE`, `INDEX`, and `BOOL`
- Identifiers: Names for things like databases and some functions

## Keywords

Keywords make up SQL's vocabulary and can have specific meaning in statements. Each SQL keyword that CockroachDB supports is on one of four lists:

- Reserved Keywords
- Type Function Name Keywords
- Column Name Keywords
- Unreserved Keywords

Reserved keywords have fixed meanings and are not typically allowed as identifiers. All other types of keywords are considered non-reserved; they have special meanings in certain contexts and can be used as identifiers in other contexts.

### Keyword uses

Most users asking about keywords want to know more about them in terms of:

- Names of objects, covered on this page in Identifiers
- Syntax, covered in our pages SQL Statements and SQL Grammar

## Identifiers

Identifiers are most commonly used as names of objects like databases, tables, or columns—because of this, the terms "name" and "identifier" are often used interchangeably. However, identifiers also have less-common uses, such as changing column labels with `SELECT`.

### Rules for Identifiers

In our SQL grammar, all values that accept an `identifier` must:

- Begin with a Unicode letter or an underscore (_). Subsequent characters can be letters, underscores, digits (0-9), or dollar signs ($).
- Not equal any SQL keyword unless the keyword is accepted by the element's syntax. For example, `name` accepts Unreserved or Column Name keywords.

To bypass either of these rules, simply surround the identifier with double-quotes ("). You can also use double-quotes to preserve case-sensitivity in database, table, view, and column names. However, all references to such identifiers must also include double-quotes.

Note:
Some statements have additional requirements for identifiers. For example, each table in a database must have a unique name. These requirements are documented on each statement's page.

## See also

- SQL Statements
- Full SQL Grammar