SQL (эс-кью-эл, англ.: Structured Query Language — структураваная мова запытаў) — мова запытаў да рэляцыйных баз даных, створаная ў пачатку 1970-х гадоў у адпаведнасці з рэляцыйнай мадэллю Эдгара Кода. Нягледзячы на тое, што мова SQL не адпавядае цалкам рэляцыйнай мадэлі Кода, яна стала найбольш папулярнай мовай баз даных.
Стандарт мовы SQL быў зацверджаны амерыканскім камітэтам ANSI ў 1986 годзе і міжнародным камітэтам ISO ў 1987 годзе. З тых часоў стандарт пераглядаўся некалькі разоў, каб дадаць больш функцый і пашырэнняў. Нягледзячы на існаванне стандарта, існуючыя рэалізацыі не адпавядаюць яму у поўнай меры, і большасць праграм, напісаных на SQL, патрабуе змен пры пераносе ў іншыя сістэмы кіравання базамі даных.
Мова SQL складаецца з 3-ох асноўных частак:
Стандарт SQL прайшоў праз некалькі рэвізій:
Год | Назвы | Каментары |
---|---|---|
1986 | SQL-86, SQL-87 | Упершыню апублікаваны ANSI. Ратыфікаваны ISO у 1987. |
1989 | SQL-89 | Невялікія змены. |
1992 | SQL-92, SQL-2 | Істотныя змены. |
1999 | SQL:1999, SQL-3 | Дададзеныя рэгулярныя выразы, рэкурсіўныя запыты, трыгеры і некаторыя аб’екта-арыентаваныя новаўвядзенні. |
2003 | SQL:2003 | Абвешчаныя XML-залежныя новаўвядзенні. |
2006 | SQL:2006 | Стандарт ISO/IEC 9075-14:2006 абвяшчае магчымасці выкарыстання SQL для работы з XML |
2008 | SQL:2008 | Змены ў камандзе ORDER BY, даданыя каманды INSTEAD OF, TRUNCATE, FETCH |
2011 | SQL:2011 | Дададзеныя часовыя даныя, паляпшэнні ваконных функцый (window functions) і каманды FETCH |
2016 | SQL:2016 | Дададзеныя супастаўленне шаблонаў у радках (row pattern matching), функцыі над паліморфнымі табліцамі (polymorphic table functions), аперацыі з данымі ў фармаце JSON, якія захоўваюцца ў сімвальных палях |
2019 | SQL:2019 | Дададзена частка 15, шматмерныя масівы |
2023 | SQL:2023 | Дададзены тып даных JSON; дададзена частка 16, Property Graph Queries |
Першы міжнародны стандарт мовы — SQL1 — быў прыняты ў 1989 годзе (таму яго часам называюць SQL-89). Гэтаму стандарту сёння адпавядае абсалютная большасць рэляцыйных сістэм кіравання базамі даных. Другі стандарт з’явіўся ў 1992 годзе (SQL2 ці SQL-92). Большасць адрозненняў ад першага ў ім выражалася колькаснымі параметрамі. У 1999 годзе на свет з’явілася 3-я версія стандарту SQL3. Яго адрозненні ад другога заключаюцца ўжо не толькі ў «колькасных», але і ў «якасных» параметрах.