Upvote:1
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.
Upvote:2
Deutsche Bahn has a pretty good connections finder (usually works in Europe pretty well), you can explore your train options there.
Upvote:8
Bus services like Flixbus (And I believe there are many others, I see these buses often here) can take you from Amsterdam Sloterdijk to Prague. This will cost you from 45 euro to 65 euro, depending on how many stops you have. If you get the 65 euro, nonstop ride it will take you 12 hours. 45 euro and 1 stop is about 18 hours.
Amsterdam Sloterdijk is a trains station close to Amsterdam Centraal. Very accessible from Amsterdam Centraal and Schiphol Airport.
As requested; on the flixbus website you can find information about frequency and detailed pricing. The Flixbus buses leave about 5-6 times day, every day.