Polecenia typu GRANT należą do SQL (DCL) i służą do nadawania uprawnień. W zapisie:
- GRANT SELECT – przyznaje prawo wykonywania zapytań odczytujących dane (SELECT).
- ON hurtownia.* – określa zakres obiektów, których dotyczy uprawnienie. W MySQL zapis nazwa_bazy.* oznacza "wszystkie tabele (i widoki) w tej bazie", a nie pojedynczą tabelę ani kolumny.
- TO 'sprzedawca'@'localhost' – wskazuje konto, które otrzyma uprawnienie. W MySQL konto jest identyfikowane parą użytkownik/host, więc 'sprzedawca'@'localhost' oznacza logowanie jako sprzedawca wyłącznie z hosta localhost.
Dlatego poprawna interpretacja brzmi: prawo SELECT nadane jest do wszystkich tabel w bazie hurtownia.
Odpowiedź mówiąca o "wszystkich polach" jest błędna, bo składnia hurtownia.* nie schodzi do poziomu kolumn; uprawnienia kolumnowe mają inną postać (wymagają wskazania kolumn w poleceniu). Opcje z użytkownikiem root są błędne, ponieważ w poleceniu wyraźnie podano użytkownika sprzedawca, a dodatkowo host jest określony jako localhost. Również odwrócenie ról (root na serwerze sprzedawca) nie pasuje do składni kont MySQL, gdzie po znaku @ występuje host, a nie nazwa innego użytkownika.
W praktyce takie nadanie uprawnień jest typowe dla kont aplikacyjnych, którym daje się tylko niezbędny zakres praw (zasada najmniejszych uprawnień).