If you want to take the train you will have to travel through Germany, that's for sure. The Deutsche Bahn has a quite good search and as you can see the fastest connections are usually via Frankfurt and Nuremberg or Berlin.
If you want to be cheap, Deutsche Bahn has a Sparpreis (which translates to saver fare). The thing is that only one point of your journey (so either start or destination) can be in a foreign country. So what you could do is split up your journey into two tickets. For example if you search for next Wednesday you could search for a saver fare from Schiphol to Berlin), the cheapest being 44€:

and then you search for another ticket, taking you from Berlin to Prague (cheapest for 39€):

So this would in total be 83€, but of course it heavily depends on your times and . Also it might make sense to also search via Nuremberg and see if it has any cheap saver fares.