Saving form data and running custom queries in mysql I'm new to drupal and although I've researched and asked some questions I'm still stuck on how I can achieve my end result.
I have built a php/html/mysql website (www.gbpokerclub.co.uk) but I now want to create it in drupal, mainly so I can easily give different users their own permission levels, and also so I can have my admins do some of the content editing.

Most of that I've worked out but the bit I'm stuck on both practically and conceptually is how I can record data into custom tables and retrieve that into leaderboards and results tables.

At present an admin logs poker game results via a form, this records the venue id, player id, finishing position etc into a mysql table. I have other tables that record venue details, player details, agent details etc. I then have some complex mysql queries that take data from results, player and venue tables, performs some calculations on it and spits out a leaderboard showing who has the most points.

This is currently done using forms to input the data, and mysql queries and php include files to drop the data back into a presentable format on the webpage.

My big question is .. 


  How can I emulate this process in Drupal?


the feedback I've had so far suggests I could use content nodes with specialised types, or custom DB tables and views to present it back, or coding a custom module, but I've also been warned against using SQL and to use the database.api instead.

To be honest there seems to be many solutions to the achieve what I need, but I'm ideally looking for someone to tell me exactly which method I should go with and how I should go about implementing the solution. 

I hope that all makes sense!
Thanks
Short simple answer is Views to display output of Entity Form inputs.