From MozillaZine Knowledge Base
The file "places.sqlite" stores the annotations, bookmarks, favorite icons, input history, keywords, and browsing history (a record of visited pages).
Places.sqlite is used in Firefox 3 and above, instead of the older bookmarks.html and history.dat files (the older files are left in the profile folder for backward compatibility). Starting in SeaMonkey 2.0, places.sqlite stores browsing history (but not bookmarks).  In SeaMonkey 2.1 and above, places.sqlite is also used for storing bookmarks (instead of the older bookmarks.html file). 
NOTE: Firefox opens the places.sqlite with a lock that prevents the user from updating the file when Firefox is open. More information on sqlite locking can be found at SQLLite Locking
You can selectively edit or delete records using sql syntax. For example, to delete records of places you have visited, you can issue the following statement:
sqlite3 places.sqlite "delete from moz_places where url like '%REPLACE_ME%';"
where REPLACE_ME is the text in the URL you wish to delete.
To selectively deleted your input history you can use the following statement:
sqlite3 places.sqlite "delete from moz_inputhistory where input like '%REPLACE_ME%';"
This file can be moved to a different profile.
If you suspect that the file is corrupted, deleting "places.sqlite" will delete your browsing history, and a new, empty file will be created automatically. In Firefox 3 and SeaMonkey 2.1 and above, places.sqlite will be rebuilt using the latest dated JSON file from the bookmarkbackups folder; if no JSON backup exists, bookmarks will be imported from bookmarks.html, if found.
The places.sqlite includes a number of tables as follows:
An ERD Diagram is available.