I just read on a website that 5mA is enough to give a little shock but I have touched 650mA and nothing happened. Does that mean that 650mA becomes too small when I touch it due to resistance of my body? So, how many amps would give a shock?
I have touched 650mA
No, you haven't.
You may have touched something that was capable of delivering 650 mA if the load demanded it. Your body will draw current proportional to the voltage applied to it and inversely proportional to its resistance. The current capability of a supply is irrelevant, assuming it's more than what your body it trying to draw.
For example, it's generally safe with dry hands to touch the terminals of a 12 V car battery. That battery is capable of several 100 amps to crank the starter, but your body will draw well under a milliamp.
It's the current thru you that you feel and that can hurt you. High voltage is dangerous because it forces more current thru you. Likewise, wet skin is equally dangerous because that greatly decreases the body resistance, allowing more current to flow at the same voltage. You can kill yourself with one of those little 9 V clip-on batteries if you do the right (wrong) things.