最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql快速列出來所有列信息實(shí)現(xiàn)思路

 更新時(shí)間:2025年01月23日 10:21:19   作者:夢(mèng)幻通靈  
本文介紹了如何使用MySQL查詢系統(tǒng)表和內(nèi)置函數(shù),將指定表的所有字段信息(包括字段名和注釋)以指定格式展示出來,本文給大家分享實(shí)現(xiàn)思路,感興趣的朋友一起看看吧

需求描述

如何將MySQL數(shù)據(jù)庫(kù)中指定表【tb_order】的所有字段都展示出來,以備注中的中文名為列名。

實(shí)現(xiàn)思路

最終展示效果,即拼接出可執(zhí)行執(zhí)行的SQL,如下圖所示。

建表語句如下所示。

CREATE TABLE `tb_order` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '訂單id',
  `user_id` bigint(20) NOT NULL COMMENT '用戶id:長(zhǎng)度20位',
  `name` varchar(100) DEFAULT NULL COMMENT '商品名稱',
  `pay_amount` bigint(20) NOT NULL COMMENT '商品價(jià)格:單位分',
  `order_status` varchar(8) DEFAULT NULL COMMENT '訂單狀態(tài)',
  `num` bigint(10) DEFAULT '0' COMMENT '商品數(shù)量',
  `data_info` varchar(255) DEFAULT NULL COMMENT '訂單信息',
  `is_enable` varchar(10) DEFAULT NULL COMMENT '是否有效:1-有效',
  `created_user` varchar(20) DEFAULT NULL COMMENT '創(chuàng)建人',
  `created_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `indx_user_id` (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

實(shí)現(xiàn)思路,即主要解決以下幾個(gè)問題

1、如何查表信息

可以從 數(shù)據(jù)庫(kù)系統(tǒng)表information_schema的 COLUMNS 中取目標(biāo)表的信息。

SELECT
	ORDINAL_POSITION,
	COLUMN_NAME,
	DATA_TYPE,
	COLUMN_COMMENT
FROM
	information_schema. COLUMNS
WHERE
	TABLE_NAME = 'tb_order';

執(zhí)行SQL查詢結(jié)果如下所示。

2、如何取字段描述信息

列備注的字段描述中有【冒號(hào): 】,如何只取冒號(hào)前的內(nèi)容,可 使用SUBSTRING_INDEX函數(shù)。

格式:SUBSTRING_INDEX(str, delimiter, number)
str 目標(biāo)字符串
delimiter 截取的分隔符
number 表示出現(xiàn)的位置
即 返回從字符串str的第number個(gè)出現(xiàn)的分隔符delimiter之前的子串

對(duì)于本需求,截取冒號(hào)前的字符串,可使用 SUBSTRING_INDEX(column_comment, ‘:’, 1)。

SELECT
	ORDINAL_POSITION,
	COLUMN_NAME,
	DATA_TYPE,
	COLUMN_COMMENT,
	SUBSTRING_INDEX(column_comment, ':', 1) as columnComment
FROM
	information_schema. COLUMNS
WHERE
	TABLE_NAME = 'tb_order';

執(zhí)行以上SQL,結(jié)果如下所示。

3、如何將列信息一行展示

將列的信息在一行顯示,可 使用GROUP_CONCAT函數(shù)

SELECT
	ORDINAL_POSITION,
	COLUMN_NAME,
	DATA_TYPE,
	COLUMN_COMMENT,
	GROUP_CONCAT(SUBSTRING_INDEX(column_comment, ':', 1)) as columnComment
FROM
	information_schema. COLUMNS
WHERE
	TABLE_NAME = 'tb_order';

執(zhí)行以上SQL如下所示。

4、拼接最終結(jié)果

使用 CONCAT 函數(shù),拼接想要關(guān)聯(lián)展示的信息,比如 select 、as 等,即可將信息完全展示,最終SQL如下所示,使用時(shí) 替換其中的【tb_order】即可。

SELECT 
    CONCAT('select ',
            GROUP_CONCAT(CONCAT(COLUMN_NAME,
                        ' as `',
                        SUBSTRING_INDEX(column_comment, ':', 1)),
                '`'),
            ' from ',
            'tb_order') AS querySql
FROM
    information_schema.COLUMNS
WHERE
    TABLE_NAME = 'tb_order';

執(zhí)行以上SQL,結(jié)果如下所示。

注:中文作為列的命名 可使用【`】,英文狀態(tài)下 esc鍵 下一行的第一個(gè)鍵。
復(fù)制出來的拼接的結(jié)果,即本案例中想要展示的內(nèi)容,如下所示。

SELECT
	id AS `訂單id`,
	user_id AS `用戶id`,
	NAME AS `商品名稱`,
	pay_amount AS `商品價(jià)格`,
	order_status AS `訂單狀態(tài)`,
	num AS `商品數(shù)量`,
	data_info AS `訂單信息`,
	is_enable AS `是否有效`,
	created_user AS `創(chuàng)建人`,
	created_time AS `創(chuàng)建時(shí)間`
FROM
	tb_order

直接執(zhí)行即可,控制臺(tái)信息如下所示。

以上即本案例的過程,可參考使用。

到此這篇關(guān)于Mysql快速列出來所有列信息的文章就介紹到這了,更多相關(guān)mysql所有列信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL CRUD 查詢、插入、更新、刪除全實(shí)戰(zhàn)指南

    MySQL CRUD 查詢、插入、更新、刪除全實(shí)戰(zhàn)指南

    在 MySQL日常開發(fā)中CRUD是最核心的高頻操作,本文基于實(shí)戰(zhàn)場(chǎng)景,全面拆解MySQL的增刪改查操作,所有SQL語句均采用小寫形式,貼合實(shí)際開發(fā)規(guī)范,同時(shí)涵蓋聚合查詢、分組統(tǒng)計(jì)等進(jìn)階內(nèi)容,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • 總結(jié)MySQL建表、查詢優(yōu)化的一些實(shí)用小技巧

    總結(jié)MySQL建表、查詢優(yōu)化的一些實(shí)用小技巧

    本篇文章是對(duì)MySQL建表以及查詢優(yōu)化的一些實(shí)用小技巧進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07
  • 基于sqlalchemy對(duì)mysql實(shí)現(xiàn)增刪改查操作

    基于sqlalchemy對(duì)mysql實(shí)現(xiàn)增刪改查操作

    這篇文章主要介紹了基于sqlalchemy對(duì)mysql實(shí)現(xiàn)增刪改查操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • mysql中union和union?all的使用及注意事項(xiàng)

    mysql中union和union?all的使用及注意事項(xiàng)

    這篇文章主要給大家介紹了關(guān)于mysql中union和union?all的使用及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 詳解MySQL與Spring的自動(dòng)提交(autocommit)

    詳解MySQL與Spring的自動(dòng)提交(autocommit)

    這篇文章主要介紹了MySQL與Spring的自動(dòng)提交(autocommit)的的相關(guān)資料,幫助大家更好的理解和使用MySQL與spring,感興趣的朋友可以了解下
    2021-01-01
  • Mysql?刪除重復(fù)數(shù)據(jù)保留一條有效數(shù)據(jù)(最新推薦)

    Mysql?刪除重復(fù)數(shù)據(jù)保留一條有效數(shù)據(jù)(最新推薦)

    這篇文章主要介紹了Mysql?刪除重復(fù)數(shù)據(jù)保留一條有效數(shù)據(jù),實(shí)現(xiàn)原理也很簡(jiǎn)單,mysql刪除重復(fù)數(shù)據(jù),多個(gè)字段分組操作,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • MySQL修改root密碼的多種方法(推薦)

    MySQL修改root密碼的多種方法(推薦)

    本文給大家分享了三種方法來解決mysql修改root密碼的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-03-03
  • MySQL數(shù)據(jù)庫(kù)MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb的方法

    MySQL數(shù)據(jù)庫(kù)MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb的方法

    mysql數(shù)據(jù)庫(kù)存儲(chǔ)引擎為MyISAM的時(shí)候,在大訪問量的情況下數(shù)據(jù)表有可能會(huì)出現(xiàn)被鎖的情況,這就會(huì)導(dǎo)致用戶連接網(wǎng)站時(shí)超時(shí)而返回502,此時(shí)就需要MySQL數(shù)據(jù)庫(kù)MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb,這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb的方法,需要的朋友可以參考下
    2014-06-06
  • mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識(shí)點(diǎn)總結(jié)

    mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識(shí)點(diǎn)總結(jié)

    這篇文章主要介紹了mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識(shí)點(diǎn),結(jié)合實(shí)例形式總結(jié)分析了mysql中關(guān)于null的判斷、使用相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • Mysql數(shù)據(jù)庫(kù)函數(shù)之函數(shù)的用法小結(jié)

    Mysql數(shù)據(jù)庫(kù)函數(shù)之函數(shù)的用法小結(jié)

    函數(shù)只是對(duì)查詢結(jié)果中的數(shù)據(jù)進(jìn)行處理,不會(huì)改變數(shù)據(jù)庫(kù)中數(shù)據(jù)表的值,MySQL中的函數(shù)主要分為單行函數(shù)和多行函數(shù)兩大類,下面我們將詳細(xì)講解這兩大類函數(shù),這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)函數(shù)之函數(shù)的用法,需要的朋友可以參考下
    2022-11-11

最新評(píng)論

珲春市| 鄄城县| 莆田市| 黑水县| 桂阳县| 徐州市| 沙雅县| 信丰县| 新巴尔虎右旗| 大连市| 旬阳县| 秭归县| 金乡县| 上高县| 张掖市| 丹寨县| 盖州市| 翁源县| 古浪县| 辽源市| 济阳县| 井研县| 克拉玛依市| 连山| 铅山县| 筠连县| 西盟| 苏尼特右旗| 个旧市| 宜兰市| 遂昌县| 莱阳市| 泌阳县| 大埔县| 罗田县| 和硕县| 元谋县| 策勒县| 乌鲁木齐市| 乐亭县| 积石山|