The difference between "printenv" and "echo $.."

I followed the instruction and exported the environment variable DB_USER.

I can get the result by using the command “echo $DB_USER”, but there’s nothing on the screen when I use “printenv DB_USER”. Also, when I check the existing variable using “printenv”, it seems that the environment variable DB_USER is not stored.

Could someone tell me the difference between these two commands? Thanks in advance.