It is very easy to prove it, using your definition. Consider an open interval of length a > 0. Consider a natural number N such that 1 / N < a. Then your interval contains already two rational points, of the form k/(2N) and (k+1)/(2N). But between two rational numbers, there are already an infinity of rational numbers (take the middle, the middles of the halfs, etc...), so your interval contains already an infinity of rational numbers. Finally, every neighborhood of a real number contains an infinity of rational numbers. So every real number is an accumulation point of Q.