God is omniscient. This means that God knows everything! God knows everything possible and everything actual. The amazing thing is that God knows all things at the same time. In other words He knows all things past, present, and future. God knows every detail in the life of every being whether in heaven, on earth, under the sea, or even in hell. God does not overlook or miss anything. No one can conceal anything from God.
"And no creature is hidden from his sight, but all are naked and exposed to the eyes of him to whom we must give an account." Hebrews 4:13 (ESV)
Not only does God know everything, He knows everything perfectly. God does not make a mistake nor is God ever wrong in what He knows. There is no incomplete knowledge before God.
To summarize, to say that God is omniscient is to say that God has always possessed perfect knowledge. God has never had to learn anything. God does not need to learn of anything because He has always known it.
"Who has measured the Spirit of the LORD, or what man shows him his counsel? Whom did he consult, and who made him understand? Who taught him the path of justice, and taught him knowledge and showed him the way of understanding.?" Isaiah 40:13-14 (ESV)