You need to understand a truly fundamental concept: within a table, there is no defined order to the rows. That may seem counterintuitive, but it is essential to understand if you're going to work with databases. The logic of SQL is based on this concept. Naturally, the rows are in some order in the physical storage medium, but they are considered to not have any particular order, so you must never rely on what you imagine the order to be. The order is always determined by the data contained in the rows, using indexes. That's what queries are for, among other things. For instance, it is quite possible for a backup process to rewrite a table in a different physical sequence, and that is perfectly allowable and properly written database applications won't care.Foxy999 wrote:that leads me to my next question, is it possible to read the table starting from row 2 or 3 when rows are being constantly changed and deleted?
So it is possible to do what you asked, but it is a meaningless concept. Putting it another way, it is meaningless to speak of "row 2" in the abstract. You can speak of "the second lowest ID number", but that might be the 37th row stored in the table. It's always the data that is meaningful, not how you think it might be stored in the table. This is crucially important and it is one of the important ways in which databases are completely unlike spreadsheets.