I begin a transaction, which is to insert several records into a table. Can I select the latest inserted record out of the database before the transaction commit?
Yes.
Inside a transaction, your application sees everything.
No other transaction, however, sees any part of the change.
The point of a transaction is to make a sequence of statements appear to be one atomic change to the database.
If you commit, all statements in the transaction are finalized, and everyone else can see the effects.
If you rollback, no statement in the transaction is finalized, and no change occurs to the database.
Not all statements can be part of a transaction, BTW. DDL (Create and Drop, for example) will end any previous transaction.