Whenever we execute the INSERT, UPDATE or DELETE statements database adds them to transactions. It's like a temp file.
A transaction is a group of all those statements which need to be executed successfully before we make any changes to database.
But those changes are not permanent.
If we want to make changes to database permanent, we need to use commit and to undo all those changes we can use rollback.
Take a look at the following SQL statement.
INSERT INTO invoices VALUES (565,66, '986354', '2014-02-31', 694, 9, 6, 6, '2017-03-17', null) //output 1 row inserted
The query above will insert a single row into invoices table. If you use SELECT after inserting the row, you will be able to see the data from the invoices table and will be able to fetch it.
But what if someone else is using the same database?
That's why we need commit statement. It makes the changes permanent and all the user accessing the database will be able to see changes.
The following statement will make the changes permanently after inserting those data.
COMMIT; //output committed
If you want to undo the changes use the following statement:
ROLLBACK //output rollback complete
commit database rollback sql query