# CQL Reference

## cqlsh - The CQL Shell

`cqlsh` is a command line shell for interacting with ScyllaDB through CQL.

* [CQLSh: the CQL shell](https://docs.scylladb.com/manual/master/cql/cqlsh.md)

## CQL - Apache Cassandra Query Language

The Apache Cassandra Query Language (CQL) is the primary language for communicating with the ScyllaDB database.
It allows you to create keyspaces and tables, insert and query tables, and more.

> * [Reserved CQL Keywords and Types (Appendices)](https://docs.scylladb.com/manual/master/cql/appendices.md)
> * [Compaction](https://docs.scylladb.com/manual/master/cql/compaction.md)
> * [Consistency Levels](https://docs.scylladb.com/manual/master/cql/consistency.md)
> * [Consistency Levels Calculator](https://docs.scylladb.com/manual/master/cql/consistency-calculator.md)
> * [Data Definition](https://docs.scylladb.com/manual/master/cql/ddl.md)
> * [Data Manipulation](https://docs.scylladb.com/manual/master/cql/dml.md)
> * [Data Types](https://docs.scylladb.com/manual/master/cql/types.md)
> * [Definitions](https://docs.scylladb.com/manual/master/cql/definitions.md)
> * [Global Secondary Indexes](https://docs.scylladb.com/manual/master/cql/secondary-indexes.md)
> * [CQL Guardrails](https://docs.scylladb.com/manual/master/cql/guardrails.md)
> * [Expiring Data with Time to Live (TTL)](https://docs.scylladb.com/manual/master/cql/time-to-live.md)
> * [Functions](https://docs.scylladb.com/manual/master/cql/functions.md)
> * [JSON Support](https://docs.scylladb.com/manual/master/cql/json.md)
> * [Materialized Views](https://docs.scylladb.com/manual/master/cql/mv.md)

## ScyllaDB CQL Extensions - CQL Extensions Provided by ScyllaDB

ScyllaDB provides additional features that extend the Apache CQL.

* [ScyllaDB CQL Extensions](https://docs.scylladb.com/manual/master/cql/cql-extensions.md)
