Per quanto riguarda le transazioni puoi usare pdo che è un abstraction layer che ti permette di generare codice compatibile per vari tipo di database, oppure operare direttamente sul database tramite sql. Ci alcune differenze, ma in molti casi sono 2 metodi intercambiabili.

Il funzionamento dei lock può cambiare da db a db, ma in generale se il db rispetta i principi acid le transazioni avranno vari livelli di isolamento, più o meno conservativi, che gestiscono il lock dei dati. Questi però dovrai impostarli tramite sql (ovviamente se il livello di default non ti dovesse andare bene, altrimenti non devi settare nulla).