I would like to access a database in a non-blocking way, in other words, I will send the SQL request through a socket and read the query response through the same socket
If you write your own driver, it would certainly be possible to do this for most databases.
I am not aware of any drivers that do this "out of the box," however.