So, to my questions
A) Is there a build your own database application for database design and function with the SELECT capability to integrate into your site.
B) Is there an application which allows sites to be built where clients can change agreed parts of the site without breaking the code.
C) Is there an application where clients can upload photos/products price changes eg; INSERT, UPDATE, DELETE.
D) Also include shopping cart (I know I can get this seperately if necessary)
I have looked at the various cms applications but dont know if thats what i'm looking for because they seem to be 'build' the whole site. I suppose what i'm looking for could be loosely termed plug ins.
Have you considered the Wordpress CMS system? It is extremely flexible and clients can change almost anything they want without the fear of breaking the code. There are a ton of wicked good plugins out there for it as well, ones that'll do exactly or pretty close to what you are looking for. It was originally intended to be a blogging platform but it has now grown to become a quite capable CMS.
Wordpress is theme based so it does require you to hand code a theme and that'll require you to know at least the basics of PHP. But it's not as hard as you might think. More info on themes here: Using Themes « WordPress Codex.