title: MySQL CREATE VIEW targeting variable table name (columns names)
body: <p>I want to define a lot of views but the model of the DB is changing so there are some ideas/questions that came to my mind:</p>
  
  <ol>
  <li><p>Is there any way in MySQL 8 to create view that after FROM has not hardcoded table name but table name is a variable?</p></li>
  <li><p>Is it possible to create view that has hardcoded name of table after FROM but column names are variable?</p></li>
  <li><p>Is it a good idea to create a view (A) that after FROM does not target a particular (hardcoded) table name but another view (B) that works as intermediate translation table that does just select data from a table (C) and gives it back to view (A) with columns aliased the way the first view (A) expects them. In short 2nd view (B) just acts as a  translator between (A) &lt;=> (C) in terms of table name and column names?</p></li>
  </ol>
  
  <p>The reason I'm thinking about these solutions is I want to have a set of table views for application that connects to DB. And they should not change but the whole model of DB will change. </p>
  
  <p>I don't want to touch the access views that are an interface for application but rather define some connections between columns and tables behind the app interface view. Also the DB model will need some other views to do common calculations/reporting but the source table data to calculations/reporting will be altered over time (column names, table names).</p>
  
  <ol start="4">
  <li>Is there any other approach I could apply? How do you deal with cases of altering table names, column names in DB without breaking already implemented reporting and other functionalities that expect a particular names of tables and columns?</li>
  </ol>
  
  <p>I'm using MySQL 8.</p>