mysql 字段名 列名 排序

目录

查询表所有的字段名/列名 进行a-z排序

查询数据库的表数据

方式一: 复制排序后的列名,进行查询

方式二: 使用存储过程,进行查询

期待你们的提供另外一种方便快捷的方式3


查询表所有的字段名/列名 进行a-z排序

#
# 查询表的所有字段,并进行a-z排序 
# 增加GROUP BY COLUMN_NAME 或者 WHERE TABLE_SCHEME='sys_city' 可过滤掉其它库中存在的相同表名
#
SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'sys_city'
-- GROUP BY COLUMN_NAME
ORDER BY COLUMN_NAME ASC

 查询数据库的表数据

SELECT * FROM sys_city;

 使用GROUP_CONCAT函数,把行变成列,并用分隔符','进行拼接

#
# 使用GROUP_CONCAT函数,把行变成列,并用分隔符','进行拼接
#
SELECT GROUP_CONCAT(DISTINCT COLUMN_NAME ORDER BY COLUMN_NAME ASC SEPARATOR ',') AS 'sort_column' 
FROM information_schema.COLUMNS WHERE TABLE_NAME = 'sys_city'
GROUP BY TABLE_NAME;
输出结果: 

address,city_name,code,full_name,id,id_nodes,latlng,level,name,parent_id,pinyin,postal_code,province_name,town_name
#
# 使用GROUP_CONCAT函数,把行变成列,并用分隔符','进行拼接
# 使用FIELD函数,把指定的列名 排序在最前面
#
SELECT GROUP_CONCAT(DISTINCT COLUMN_NAME ORDER BY FIELD(COLUMN_NAME,'id') DESC ,COLUMN_NAME  ASC SEPARATOR ',') AS 'sort_column' 
FROM information_schema.COLUMNS WHERE TABLE_NAME = 'sys_city' AND TABLE_SCHEMA='lvyuev2'
GROUP BY TABLE_NAME;



##
## 输出结果: id,address,city_name,code,full_name,id_nodes,latlng,level,name,parent_id,pinyin,postal_code,province_name,town_name
##

方式一: 复制排序后的列名,进行查询

SELECT id,address,city_name,code,full_name,id_nodes,latlng,level,name,parent_id,pinyin,postal_code,province_name,town_name
FROM sys_city;

方式二: 使用存储过程,进行查询

SET @col := (SELECT GROUP_CONCAT(DISTINCT COLUMN_NAME ORDER BY FIELD(COLUMN_NAME,'id') DESC ,COLUMN_NAME  ASC SEPARATOR ',') AS 'sort_column' 
FROM information_schema.COLUMNS WHERE TABLE_NAME = 'sys_city'
GROUP BY TABLE_NAME);

SET @sql := CONCAT('SELECT ' ,@col, ' FROM sys_city' , ' LIMIT 10' );

PREPARE stmt FROM @sql;
EXECUTE stmt;

期待你们的提供另外一种方便快捷的方式3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值