Pro zßpis syntaxe pou₧φvßme upravenΘ BNF (Backus Naur Form). Syntaxe je popsßna soustavou pravidel, na jejich levΘ stran∞ stojφ neterminßl, jeho₧ v²znam pravidlo definuje pomocφ pravΘ strany. Mezi levou a pravou stranou pravidla je znak ::=
.
V pravidlech se neterminßly zapisujφ kurzφvou, terminßly normßlnφm pφsmem.
V pravidlech se vyskytujφ tyto metasymboly (symboly, kterΘ nejsou souΦßstφ syntaxe, ale umo₧≥ujφ zßpis syntaxe):
|
odd∞lovaΦ variant
[ ]
zßvorky vymezujφcφ nepovinnou Φßst
{ }
metazßvorky (ohraniΦujφ urΦitou Φßst pravidla)
à
symbol oznaΦujφcφ nula nebo vφce opakovßnφ bezprost°edn∞ p°edchßzejφcφho symbolu (nebo vφce symbol∙ v metazßvorkßch)
P°φklad pou₧itφ zßpisu:
p°φkaz_INSERT
::= INSERT INTO jmΘno_tabulky [(jmΘno_sloupce {,jmΘno_sloupce}à )] obsah obsah ::= VALUES ( hodnota {, hodnota }à ) | DEFAULT VALUES | dotazov²_v²raz
Jak Φφst takov²to zßpis:
P°φkaz INSERT je definovßn takto: zaΦφnß povinn²mi terminßly (vyhrazen²mi slovy) INSERT INTO nßsledovan²mi neterminßlem jmΘno_tabulky. Obsah neterminßlu je definovßn na nßsledujφcφch °ßdcφch nebo v n∞kterΘm p°edchßzejφcφm zßpisu syntaxe nebo je jeho v²znam z°ejm² jako v tomto p°φpad∞.
Nßsleduje nepovinnß Φßst uzav°enß do hranat²ch zßvorek obsahujφcφ jeden nebo vφce neterminßl∙ jmΘno_sloupce. KulatΘ zßvorky nepat°φ mezi metasymboly, jsou tedy souΦßstφ p°φkazu. Slo₧enΘ zßvorky vymezujφ Φßst, ke kterΘ se vztahuje symbol pro opakovßnφ.
Nßsleduje neterminßl obsah definovan² na nßsledujφcφm °ßdku. Pomocφ odd∞lovaΦ∙ variant jsou naznaΦeny t°i r∙znΘ, navzßjem se vyluΦujφcφ mo₧nosti syntaxe. Prvnφ zp∙sob zaΦφnß vyhrazen²m slovem VALUES a pokraΦuje v²Φtem jednΘ nebo vφce hodnot v kulat²ch zßvorkßch, druh² zp∙sob je definovßn pouze terminßly DEFAULT VALUES, t°etφ zp∙sob odkazuje na neterminßl dotazov² v²raz. Dotazov² v²raz je jednφm z nejd∙le₧it∞jÜφch pojm∙ SQL a je na n∞j odkazovßno z mnoha mφst, mß proto svou vlastnφ strßnku, na nφ₧ ukazuje odkaz nφ₧e v textu
Nedφlnou souΦßstφ syntaxe je i popis a konkrΘtnφ p°φklad pou₧itφ.
V p°φkladech dodr₧ujeme tuto konvenci: zapisujeme jmΘna tabulek s prvnφm pφsmenem velk²m, jmΘna sloupc∙ mal²mi pφsmeny, terminßly SQL velk²mi pφsmeny. Tato konvence nenφ povinnß.