După ce s-a stabilit conexiunea, se pot trimite instrucţiuni SQL către baza de date. API-ul JDBC nu verifică corectitudinea instrucţiunii şi nici apartenenţa ei la un anumit standard SQL, permiţându-se astfel trimiterea chiar de instrucţiuni non-SQL. Programatorul este cel care ştie dacă SGBD-ul interogat suportă interogările pe care le trimite şi, dacă nu, el este cel care va trata excepţiile primite drept răspuns. Dacă instrucţiunea este SQL, atunci aceasta poate face anumite operaţii asupra bazei de date, cum ar fi căutare, actualizare sau ştergere [8].
API-ul JDBC specifică trei interfeţe pentru trimiterea de interogări către bazele de date, fiecăreia corespunzându-i o metodă specială în clasa Connection, de creare a instanţelor corespunzătoare [10].
Clasa Statement - este folosită pentru trimiterea de instrucţiuni SQL simple, fără parametri. Pentru execuţia unei astfel de instrucţiuni se foloseşte metoda createStatement, aplicată unui obiect Connection; această metodă întoarce un obiect din clasa Statement. Se pot aplica apoi una dintre metodele: executeQuery, executeUpdate sau execute obiectului de tip Statement pentru a trimite SGBD-ului instrucţiunile SQL. Metoda executeQuery este folosită în cazul interogărilor care returnează mulţimi rezultat (instanţe ale clasei ResultSet), aşa cum este cazul instrucţiunilor SELECT. Pentru operaţiile de actualizare sau ştergere, cum ar fi INSERT, UPDATE sau DELETE, se foloseşte metoda executeUpdate aplicată obiectului de tip Statement, rezultând un întreg care reprezintă numărul înregistrării afectate. Metoda execute este folosită în cazul în care se obţin mai mult de o mulţime rezultat sau un număr de linie.