programming without bootloader

If you use the external programmer the bootloader will be deleted.

Does it upload just your program or does it include the bootloader too?

Just your program - bootloader will be overwritten unless someone made an effort to relocate where the image will be programmed in flash. The Arduino IDE may do this but if you find that after you used the 'upload with programmer' option you can't talk to the board any other way, then the programer may have wiped out the bootloader.