I dont believe it NEEDS to know the tables.. for example, if your table is like this:
Names:
+-----------------------------------------+
| ID | Name |
+-----------------------------------------+
mysql> INSERT INTO Names VALUES ('2', 'Bob');
would work!
Now if the table was:
Jobs:
+-----------------------------------------+
| ID | Name | Jobs |
+-----------------------------------------+
mysql> INSERT INTO Jobs (ID, Name) VALUES ('2', Steve);
would work and the first one wouldnt. You only need to declare it if its only certain fields of the table youre filling.
me thinks..