The only way to guarantee getting the last entered is to timestamp the records when you create them, but including a datetime column in the table. This allows you to use the ORDER BY clause in your select query, and then return the top 30 results:
SELECT TOP 30 * FROM MyTable ORDER BY EnteredAt DESC
If you don't supply ORDER BY, the SQL is at liberty to return records in any order if finds convenient (normally, it's in modification order, but it's not guaranteed, particularly if records are deleted and the space is reused later)