Is it possible to create an INSERT and UPDATE trigger on a table that will log exactly what SQL command was issued in another table? Also, is it possible to have the trigger grab the username/IP address/anything else available from the person who issued the SQL command?

So presume my tables are called "data" and "log". Can I put a trigger on data so that if somebody runs "INSERT INTO data (columns) VALUES (stuff)" an entry would show up in log with "INSERT INTO data (columns) VALUES (stuff)", showing the exact syntax that they used, as well as whatever information is available to try and identify them? Is this possible?