It shouldn't delete anything. If should do a backup, upgrade, restore.
I say "should" because for some reason my backup was faulty and it couldn't restore. It would get about 15% done on the restore, then error out, reboot, re-start the restore process and repeat. I had to put it in DFU mode and restore to factory conditions. I tired to restore from a backup I made at home the same morning and had the exact same issue. I suspect that there was something flaky on my phone that got backed up and prevented the restore from working.
So I lost text messages, contact, notes, game saves, etc. Fortunately I'm a programmer and was able to get it all back, but it wasn't pretty. I used iPhone Backup Extractor to pull the SQLite databases from my backup for Contacts. Then I used the SQLite Manager add-on for Firefox to run SQL queries to pull out all the contact information I was interested in. Then I saved those results to an Excel Workbook. Then I saved each sheet in the workbook as a CSV file. Then I wrote a custom program to read the CSV files and reconstitute the data from the various tables back into a single contact for each person. Then I wrote those out as VCard files. Emailed them to my phone and clicked on each one (100 contacts), clicked Create New Contact, Save, repeat for all 100. I didn't mess with trying to put the photos I had into the VCard files and re-assigned those back manually. The only things I had issues with were anniversaries and notes. Those didn't go in the VCard files and had to be put back manually. And I had some birthdays to correct. I couldn't find a way in SQL to pull the dates accurately. Most were fine but some were off by a day or two. I played around for a while, but eventually just fixed the few that were off manually.
So, you shouldn't lose anything. But that's not a guarantee! 😀