I understand that it is a good idea to add a canonical link to each web page.
Is it really as simple as adding ...

<link rel="canonical" href="http://example.com/page.html"/>

... to the head of each page?

And, is it better to make the canonical link www.mysite.com or mysite.com?

A canonical link element is an HTML element that helps webmasters prevent duplicate content issues

If you have not applied canonical tag for your website then first you have to check it in google that how many pages has been crawled from www and non-www. If your webpages has been crawled from non-www then you to apply it for www to non-www and visa versa.