Good:
- hints about the smallest datatypes
- clustering the table not by the PK but by the ususal query columns (one of the most common mistakes)
Bad:
- no normalization - make extra tables for publisher and title / serie
- I'd never try to drop a database statement before I creating on - if I want to prevent errors I could use the same but negated IF to create the DB only if missing
Neutral (feature wish list :-)):
- I think price, buy date, condition (nearly new or half rotten), remark and maybe bookshelf (extra table again) would be nice to have
- what's about duplicates