Schema

SQL CREATE INDEX

Create an index to support selected query patterns.

Availability: Common SQL with references for SQL standard, MySQL/MariaDB, PostgreSQL, SQL Server, SQLite and Oracle Database; syntax and feature support vary by engine and version.中文

Syntax

CREATE [UNIQUE] INDEX index_name ON table_name (column_list);

Examples

Example (standard-style syntax). Verify supported keywords in your database.

CREATE INDEX idx_orders_customer_date ON orders (customer_id, created_at);

SQLite-oriented variant; dialect behaviour may differ.

CREATE INDEX idx_orders_customer_date ON orders (customer_id, created_at);

Parameters, options and clauses

Option / clauseDescription
Object nameName a table, view, index, schema or database.
Column definitionSpecify column name, data type and default value.
ConstraintsUse NOT NULL, UNIQUE, CHECK, PRIMARY KEY or FOREIGN KEY as needed.
IF EXISTS / IF NOT EXISTSMake create/drop operations conditional where supported.
CASCADE / RESTRICTControl dependent-object handling where supported; verify before destructive changes.

Dialect references

Safety note

Review a command and its target before running it. Commands that alter files, services, accounts, disks, permissions or databases may be difficult to reverse. Test in a safe environment and keep backups.

Official reference ↗Back to directory