If water heater has a hole, then water heater is rusted out and must be replaced.http://waterheatertimer.org/Water-at-bottom-of-water-heater.html
Immediate problem is ruptured tank.
Water heaters are under pressure, and rusted water heaters rupture and water runs until water is shut off.
This causes major damage inside home.Protect yourself first
, and then let's talk more.
1) Turn off water at shut off located on cold water line above tank.
2) Turn off power to water heater:
Gas heater, rotate valve to 'pilot' so pilot is lit but burner does not turn ON.
Electric heater, turn off circuit breaker.
3) Open tub spout on hot side and let run a bit to relieve pressure.
4) Now your property is safe.
You can limp along with failed heater if leak is slow.
Turn heater ON when you need hot water.
Typical Gas heater makes 41 gallons hot water per hour.
Typical Electric heater makes 21 gallons hot water.
Shower uses 5-9 gallons hot water, bath uses 12-14 gallons hot water.
If you are going to install heater yourself:
Look at label on side of old tank to identify size and particulars.
I buy ordinary heaters from Lowes and Home Depot and always look at scratch-n-dent models.
Buy same size heater if it worked fine before.
Buy new flexible water connectors.
Set water heater in drip pan.
Offer 10% less than price shown.
#1 rule) tankless heaters are a rich-man's toy, because tankless will never pay you back, and will become major money pit with 1 repair.
2) How to install gas heater:http://waterheatertimer.org/How-to-replace-gas-water-heater.html
3) How to install electric heater:
Read link above because many of same steps apply to electric.
The difference with electric, is turn off power, disconnect wires, and reconnect wires exactly like before. Set electric heater directly on insulated surface like dense blue styrafoam. Cut styrafoam in a circle so it fits inside dip pan.
Add a comment for more free assistance.
Also take advantage of fixya phone service.
For a price, fixya expert speaks to you via phone about any do-it-yourself problem.