MySQL显示表名称以及列

Mat*_*hew 9 mysql

我正在调试一个巨大的MySql调用,该调用连接了大量共享列名称的表,例如id,created_at等.我开始把它拆开但是我想知道是否有办法做类似的事情:

SELECT * AS table.column_name FROM table1 LEFT JOIN etc etc etc...
Run Code Online (Sandbox Code Playgroud)

代替必须单独命名列,如:

SELECT table1.`column2' AS 'NAME', table1.`column3` AS ...
Run Code Online (Sandbox Code Playgroud)

如果有办法,它肯定有助于加快调试过程.

谢谢.

编辑:

谢谢你到目前为止的答案.他们不是我想要的,我认为我的问题有点含糊,所以我举个例子:

假设您在MySql架构中进行了此设置:

表:学生字段:INT id | INT school_id | VARCHAR 名称

表:学校领域:INT id | INT 名称

学生包含:

1 | 1 | "John Doe"
Run Code Online (Sandbox Code Playgroud)

学校包含:

1 | "Imaginary School One"
Run Code Online (Sandbox Code Playgroud)

执行MySql调用"SELECT*FROM students LEFT JOIN schools ON(students.school_id = schools.id)"将产生:

id | school_id | name       | id | name

1  | 1         | "John Doe" | 1  | "Imaginary School One"
Run Code Online (Sandbox Code Playgroud)

我们知道的更好,我们知道第一个Id和Name列引用学生表,第二个Id和Name引用学校表,因为数据集非常小并且与其命名无关.但是,如果我们必须处理包含多个左连接和具有相似名称的列的结果集,那么它将开始变得难以阅读,并且通常您必须通过跟随连接来跟踪它.我们可以开始做类似的事了

SELECT school.name AS 'school_name', etc etc etc...
Run Code Online (Sandbox Code Playgroud)

但是,一旦开始处理大型数据集,这就变得非常不切实际.

我想知道是否有办法返回结果集,其中列名称将是这样的:

students.id | students.school_id | students.name | schools.id | schools.name
Run Code Online (Sandbox Code Playgroud)

如果我需要再次做类似的事情,这将对未来的参考有用.

Fos*_*sco 2

如果您按顺序选择表,并添加带有名称的间隔列,该怎么办?

IE

select 'table1', t1.*, 'table2', t2.*, 'table3', t3.* 
...
Run Code Online (Sandbox Code Playgroud)

至少这样您就不必命名特定的列。