Php MySQL以大写形式返回所有列名

Php MySQL以大写形式返回所有列名,php,mysql,sql,select,Php,Mysql,Sql,Select,我有SQL查询,只是为了简化它,想象一下在表用户中有列id,name,pass,我希望数据库以大写形式返回这些列名,如id、name、pass。我知道我可以A)重命名数据库中的列B)像选择大写字母一样选择它 选择ID、名称、用户通行证。。。但我需要这样使用它:SELECT*fromsusers。我试图从用户中使用类似于selectupper(*)的东西,但它给了我语法错误 澄清一下:我需要大写的列名称,而不是列值 我的解决方案: 所以在多次尝试之后,我在获取结果后通过PHP完成了这项工作。我想这

我有SQL查询,只是为了简化它,想象一下在表用户中有列
id
name
pass
,我希望数据库以大写形式返回这些列名,如id、name、pass。我知道我可以A)重命名数据库中的列B)像选择大写字母一样选择它
选择ID、名称、用户通行证
。。。但我需要这样使用它:
SELECT*fromsusers
。我试图从用户中使用类似于
selectupper(*)的东西,但它给了我语法错误

澄清一下:我需要大写的列名称,而不是列值

我的解决方案:

所以在多次尝试之后,我在获取结果后通过PHP完成了这项工作。我想这更容易,所以我调用了函数,它返回满足键大小写的数组键(显然这个数组的键也是列名)

要以大写形式检索特定表的所有列名,可以使用以下查询:

SELECT UPPER(`COLUMN_NAME`) 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename' 
AND `TABLE_NAME`='yourtablename';

如果要在select查询的某个结果集中获取大写列名,则必须以大写形式创建列,也可以在php脚本中使用大写形式,但是不可能在结果集中为所有列动态地使用大写。

在sql中,无法使用
select*…
自动在结果集中使用大写字段名,除非您在创建表本身中将它们定义为大写


但是,在php中,您可以动态创建select语句,该语句使用查询表的所有字段名,并将allcap格式的列名放入sql语句中,或者在php中输出字段名时将其格式化。

是否以大写或列值返回列名?更改列名并在select语句中键入大写字母会影响列名。Upper()函数影响列值。@是的,我刚刚意识到它影响的是值,而不是列名。我需要大写的列名如果最终的目标是简单地回显查询中的列名,也可能是回显HTML表中的列名,为什么不使用PHP和
strtoupper()
?那么,关于^a的想法是什么呢?给出答案后,您没有任何互动,也没有被接受的答案。我喜欢他们这样离开。我从您的编辑中获得了这些答案,您也看到了使用php进行编辑的“或者您可以在php脚本中添加它们”。OP也没有回应。是的,但这只是一个旁注,因为问题是关于在DB端做这件事。也许通过某种方式将信息模式加入到选择和大写的列名中仍然是可能的?也许。。。也许吧。然而,OP并没有回应我对此事的评论。所以他们要么忽略它,等待一个神奇的答案(这不会发生,无论如何也不会从我这里发生),要么他们全神贯注于让事情顺利进行,或者说“F-这个,我会(无论如何)”。到目前为止,你的答案是先行者;-)