Можно и float использовать, если вас не напрягает, когда вы добавляете 1 сатоши, а добавится 2. Прочитайте про числа с плавающей точкой.
Как вариант использовать обычный int, decimal выглядит круто в базе, но в php вам придется использовать int и смысл decimal теряется.
zvlad_vitamin, все так, пока оно в базе, но вам ведь в php с ним работать, а в php такого типа нет, а значит нужно будет полученную из MySQL строку с точкой конвертить в php int, и опять же работать с int, а при записи в базу опять из int конвертить в decimal.
А, если не int, а прямо строкой оперировать, то придется использовать bcmatch, как указал toxa82, а арифметика чисел произвольной точности не очень удобное и не очень быстрое решение.