¿Por qué la necesidad de comprometerse explícitamente al hacer una ACTUALIZACIÓN?

Aquí está mi código:

import cx_Oracle

conn = cx_Oracle.connect(usr, pwd, url)
cursor = conn.cursor()
cursor.execute("UPDATE SO SET STATUS='PE' WHERE ID='100'")
conn.commit()

Si elimino elconn.commit(), la tabla no se actualiza. Pero para declaraciones selectas, no necesito esoconn.commit(). Tengo curiosidad por qué?

Respuestas a la pregunta(3)

Su respuesta a la pregunta