知道 vs 了解:
知道 has three meanings:
1. to know about something, to realize something
知道 or 了解了真相以后，他原谅了他女朋友。 [phr] After he knew the truth, he forgave his girlfriend.
In this meaning, 知道 and 了解 can both be used, but 了解 means "to know in more details, to have in-depth knowledge about".
妈妈比任何人都了解我。 [phr] Mom knows me better than anyone.
Here we cannot use 知道, because here "know me (better than anyone)" means knowing this person's personality, what he likes/dislikes,...and other detailed information about this person, so we need to use 了解.
2. to have simple information about something, to know the answer to a simple question:
你知道图书馆在哪儿吗？ [phr] Do you know where the library is?
因为这是我们的第一节课，所以我不知道你们的名字。 [phr] This is our first lesson, so I don't know your names.
知道 sounds better in these two sentences. 了解 implies more details, so it doesn't work very well when it comes to simple information.
3. to know/understand what should be done, to know to do something
他7岁就知道关心父母了。When he is only 7 years old, he knows that he should care for his parents.
We cannot use 了解 in this case.
In addition, 了解 can mean "investigate, inquire about, try to find out". 知道 does not have this meaning.
你去了解一下。 [phr] (imperative) You go and find out.
In this case above, we cannot use 知道.