I did this a few years ago (built a desktop Windows Forms app, having only previously developed web applications). I found it was easier than I'd expected, because my knowledge of C# and the .NET Framework BCL all carried over seamlessly.
There were a few tricky exceptions; one which I bumped into was the fact you will likely need to delve into multithreading, in order for it not to appear to your users as though your app has hung—although this got a lot easier with the advent of the BackgroundWorker class.
You can, as David says, use SQL Compact Edition as a database, or as an alternative, SQLite and the System.Data.SQLite ADO.NET Provider. I've used this with a few apps now (web and desktop) and it's very simple, solid and easily distributable.
I'd also agree with David that you should aim for WPF rather than focusing on WinForms. WPF will also make some sense to you as a web dev, as it's based on markup.
Deployment wise: if you have Visual Studio Standard edition or above, you can quite simply create Setup Projects which will take care of creating the installer, copying the database to the correct place on the user's machine etc.