Jediným příkazem, kterým je možné získat data z databázových tabulek je příkaz SELECT. Tento příkaz nemění žádná data v databázi.
SELECT <seznam_výstupních_sloupců> FROM <seznam_tabulek> [WHERE <podmínka_řádku>] [GROUP BY <seznam_výrazů_seskupení>] [HAVING <podmínka_skupiny>] [ORDER BY <seznam_kritérií_třídění>]
Příklad: Výběr partnerů a k nim počet vystavených faktur a celková cena k úhradě. Omezení podmínkou data vystavení od 1.1.2005 a celkovou sumou k úhradě větší než 1000 Kč. Seřazeno dle čísla partnera.
select idpartner, count(idfaktura), sum(cenakuhrade) from faktury_faktury where datumvystaveni > '1.1.2005' and idfdruh = 'fv' group by idpartner having sum(cenakuhrade) > 1000 order by idpartner
Příklad: Výběr ze dvou tabulek – použití spojení dvou tabulek. Výběr partnerů a k nim seznam vystavených faktur. Omezení podmínkou data vystavení faktur od 1.1.2005.
select * from partneri_partneri partneri join faktury_faktury faktury on faktury.idpartner = partneri.idpartner where faktury.datumvystaveni $>$ '1.1.2005' and faktury.idfdruh = 'fv' order by idpartner}
UPDATE <název_tabulky> [<pojmenování_tabulky>] SET <název_sloupce1> = <výraz1> [,<název_sloupce2> = <výraz2> [, ....]] [WHERE <podmínka>]
Do všech sloupců, které jsou uvedeny za klíčovým slovem SET se vloží hodnota odpovídajícího výrazu. Pomocí podmínky za klíčovým slovem WHERE můžeme omezit množinu řádků, kterých se bude aktualizace týkat.
Příklad: Vynulování množství u rozpočtu 'RZ00015'.
update rozpocty_rpolozky set mnozstvi = '0' where idrozp = 'RZ00015'
INSERT INTO <název_tabulky> [(<název_sloupce1> [, <název_sloupce2> [, ...]])] <příkaz_select> | VALUES (<výraz1> [, <výraz2>[, ...])
Nový řádek přidáme do tabulky uvedením hodnot pro všechny sloupce v tabulce. Tímto způsobem můžeme přidat vždy pouze jeden řádek. Více řádků najednou přidáme do tabulky pomocí vnořeného dotazu SELECT, který musí mít stejnou strukturu seznamu výstupních sloupců (počet a datové typy sloupců), jako má tabulka, do které chceme řádky přidat. Řádky, které jsou výsledkem tohoto dotazu, jsou automaticky přidány k již existujícím řádkům v tabulce.
Příklad: Doplnění číselníku nákladů z číselníku rekapitulačních položek.
insert into rozpocty_crnakl (idnakl, popis, vypocet, barva, typ, koef, zaklad, druhy) select idrek, popis, vypocet, barva, typ, koef, zaklad, druhy from rozpocty_crekap
DELETE FROM <název_tabulky> [WHERE <podmínka>]
Příkaz DELETE vymaže z tabulky všechny řádky, které splňují podmínku zadanou za klíčovým slovem WHERE. Není-li tato podmínka uvedena, jsou z tabulky vymazány všechny řádky. Příkaz DELETE vymaže z tabulky celé řádky. Pokud chceme pouze vymazat hodnotu v určitém sloupci (nastavit ji na NULL), musíme použít příkaz UPDATE.
Příklad: Smazání všech ceníkových položek z druhu 'old'.
delete from rozpocty_cenik where iddruh = 'old'