SQL (en inglés "sequel" e que é un acrónimo de Structured Query Language, linguaxe de consulta estructurada)[1][2] é unha linguaxeespecífica de dominio para xerar, manipular e obter datos de bases de datos relacionadas.[3] Permite a xestión de datos ben en sistemas de bases de datos con relacións (RDBMS) ou en sistemas con fluxo de datos relacionados (RDSMS). SQL permite acceder a rexistros de datos cunha única orde e sen ter que buscar onde están os datos teñen ou non teñan un rexistro.
Ao comezo fundamentouse na álxebra relacional e no cálculo de relacións por tuplas ou ringleiras e agora fundamentase nunha serie de ordes, ou clases que son sub-linguaxes, que permiten procura de datos, a linguaxe de definición de datos (DDL, Data Definition Language), a linguaxe de control de datos (DCL, Data Control Language) e a linguaxe de manipulación de datos (DML, Data Manipulation Language). SQL pretende facer buscas de datos, manipulalos (introducíndoos, actualizándoos ou borrándoos), definindo os datos (o marco de creación e modificación) e o control de acceso a datos. Inda que SQL polo xeral se considera, en boa parte, unha linguaxe declarativa (4GL), tamén inclúe elementos procesais.
SQL foi unha das primeiras linguaxes comerciais que empregou o modelo de relacións que describiu Edgar F. Codd no seu artigo de 1970 "Un modelo de relacións de datos para bancos de datos con alta cantidade de datos compartidos".[4] Aínda que non incluíu todas as regras de relacións do modelo descrito por Codd, SQL converteuse na linguaxe de base de datos máis empregada.[1][5]
SQL converteuse nu estándar do Instituto Nacional Americano de Estándares (ANSI) en 1986 e da Organización internacional de estándares (ISO) en 1987.[6] Malia a existencia destes estándares a meirande parte do código SQL non pode migrarse entre diferentes sistemas de bases de datos sen facer algúns axustes.