Create page with custom php script and fetched data

1) It is easy to create tables in WP. I suggest making a plugin to handle this for you. See the codex for more info: https://codex.wordpress.org/Creating_Tables_with_Plugins

2) Again, I suggest using WP to handle this for security purposes. As you stated, you would have connection details that could potentially be exploited.

3) I think there are plugins for this. Another way is to write your PHP into Theme files so that users will not be changing this. It is not good practice to store your PHP code in the database.