There are a couple of approaches. Using @Tom Kuschel suggestion with rsync if you have such privileges is one. But there are others as well.
If the only changes are on the db level, you could simply create the new database, import your data and then connect Joomla to that database.
Connecting Joomla to another database (and remote databases) can work also when you transfer the site from one server to another alongside with DNS changes, assuming you can allow remote connections to the database.
If you also need to update the code base, then it's always better to have deployed and tested the new version on the server. I usually first setup the new version on a subfolder make sure it works as expected (that includes having the customer to review/test it) and then I switch.
For switching I usually put the old website files inside a folder, and then move the contents of the subfolder of my test version to the document root. When I confirm everything is in place, I am changing the log/tmp directory paths if required on the configuration.php and I am done. This is usually only some seconds task.
It is also possible to change the document root of the hosting account to point to that new directory. This way, the switch will be instant.
Consult the documentation of your control panel or ask support from your hosting provider for this.
Some additional thoughts regarding downtime for maintenance and updates:
After the years and many migrations/site moves, I have concluded that some minimum downtime in many cases is acceptable, preferable, and in some cases necessary.
The more professional approach is to have scheduled and informed all those that are involved/using the site about this and have prepared a temporary page to display during the migration. I suggest to have first try the migration to have an idea of the time it will take alongside with other things that might come in your way.
All these are more important if the website you are working has user updated content. Such migrations are a whole different thing than a rather static website. You need to ensure that your new version will have all the latest content. So in such cases you need a very good plan that has been tested before. And of course you can't avoid downtime.