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

MySQL可直接使用的查詢表的列信息(實現(xiàn)方案)

 更新時間:2025年01月23日 10:16:30   作者:夢幻通靈  
本文介紹了如何使用SQL快速將下劃線命名的表字段轉換為駝峰命名格式,包括確定下劃線位置、找到第一個字符、截取并拼接字符串等步驟,通過使用LOCATE、CONCAT、UCASE和LOWER等函數,可以實現(xiàn)高效的字段命名轉換,感興趣的朋友跟隨小編一起看看吧

背景

最近產品找來,想讓幫忙出下表的信息,字段駝峰展示,每張表信息show create table全部展示,再逐個粘貼,有點太耗費時間,本篇記錄快速方法,方便備查。

實現(xiàn)方案

第一步、確定下劃線【_】的位置,可使用LOCATE函數;
第二步、找到下劃線后第一個字符;
第三步、各個區(qū)域截取【下劃線前的字符+下劃線后的第一位要大寫+剩余字符串小寫】,使用CONCAT拼接。
實現(xiàn)效果如下所示。

模板SQL

可直接使用的模板SQL,只需要將【tb_order】改成所要統(tǒng)計的表即可,如下所示

SELECT 
    COLUMN_NAME AS `數據元素`,
    LOCATE('_', COLUMN_NAME, 1) + 1 AS `下劃線第一個位置`,
    UCASE(SUBSTRING(COLUMN_NAME,
                LOCATE('_', COLUMN_NAME, 1) + 1,
                1)) AS `下劃線第一個位置的字母`,
    CASE
        WHEN
            LOCATE('_', COLUMN_NAME, 1) != 0
        THEN
            CONCAT(LOWER(SUBSTRING(COLUMN_NAME,
                                1,
                                LOCATE('_', COLUMN_NAME, 1) - 1)),
                    UCASE(SUBSTRING(COLUMN_NAME,
                                LOCATE('_', COLUMN_NAME, 1) + 1,
                                1)),
                    LOWER(SUBSTRING(COLUMN_NAME,
                                LOCATE('_', COLUMN_NAME, 1) + 2,
                                LENGTH(COLUMN_NAME))))
        ELSE COLUMN_NAME
    END AS `駝峰展示`,
    data_type AS `數據類型`,
    CASE
        WHEN IS_NULLABLE = 'YES' THEN '必填'
        ELSE '非必填'
    END AS `是否必填`,
    column_comment AS `描述`
FROM
    information_schema.COLUMNS
WHERE
    TABLE_NAME = 'tb_order';

如何查詢列

可從MySQL的系統(tǒng)表information_schema.COLUMNS,直接查詢目標表的信息,主要如下所示。

SELECT 
    COLUMN_NAME  AS `數據元素`,
    data_type AS `數據類型`,
    CASE
        WHEN IS_NULLABLE = 'YES' THEN '必填'
        ELSE '非必填'
    END AS `是否必填`,
    column_comment AS `描述`
FROM
    information_schema.COLUMNS
WHERE
    TABLE_NAME = 'tb_order';

執(zhí)行SQL,控制臺如下所示。

如何轉大寫

MySQL中字符轉大寫,可使用 UCASE函數,字符轉小寫 可使用LOWER函數。

SELECT 
    COLUMN_NAME AS `數據元素`,
    UCASE(data_type) AS `數據類型-大寫`,
		LOWER(data_type) AS `數據類型-小寫`,
    CASE
        WHEN IS_NULLABLE = 'YES' THEN '必填'
        ELSE '非必填'
    END AS `是否必填`,
    column_comment AS `描述`
FROM
    information_schema.COLUMNS
WHERE
    TABLE_NAME = 'tb_order';

執(zhí)行SQL,控制臺如下所示。

如何獲取字符位置

獲取字符串中指定字符位置,可使用LOCATE函數。

LOCATE(sub_str, str,length)
sub_str 表示待匹配的子串
str 表示匹配的目標字符串
length 表示匹配的長度

SELECT 
		COLUMN_NAME AS `數據元素`,
		LOCATE('_',COLUMN_NAME,1)+1 as `下劃線第一個位置`,
    UCASE(SUBSTRING(COLUMN_NAME,LOCATE('_',COLUMN_NAME,1)+1,1)) AS `下劃線第一個位置的字母`,
    data_type AS `數據類型`,
    CASE
        WHEN IS_NULLABLE = 'YES' THEN '必填'
        ELSE '非必填'
    END AS `是否必填`,
    column_comment AS `描述`
FROM
    information_schema.COLUMNS
WHERE
    TABLE_NAME = 'tb_order';

執(zhí)行SQL,控制臺如下所示。

如何拼接字段

使用CONCAT函數連接各部分子字符串。

SELECT 
    COLUMN_NAME AS `數據元素`,
    LOCATE('_', COLUMN_NAME, 1) + 1 AS `下劃線第一個位置`,
    UCASE(SUBSTRING(COLUMN_NAME,
                LOCATE('_', COLUMN_NAME, 1) + 1,
                1)) AS `下劃線第一個位置的字母`,
    CASE
        WHEN
            LOCATE('_', COLUMN_NAME, 1) != 0
        THEN
            CONCAT(LOWER(SUBSTRING(COLUMN_NAME,
                                1,
                                LOCATE('_', COLUMN_NAME, 1) - 1)),
                    UCASE(SUBSTRING(COLUMN_NAME,
                                LOCATE('_', COLUMN_NAME, 1) + 1,
                                1)),
                    LOWER(SUBSTRING(COLUMN_NAME,
                                LOCATE('_', COLUMN_NAME, 1) + 2,
                                LENGTH(COLUMN_NAME))))
        ELSE COLUMN_NAME
    END AS `駝峰展示`,
    data_type AS `數據類型`,
    CASE
        WHEN IS_NULLABLE = 'YES' THEN '必填'
        ELSE '非必填'
    END AS `是否必填`,
    column_comment AS `描述`
FROM
    information_schema.COLUMNS
WHERE
    TABLE_NAME = 'tb_order';

執(zhí)行SQL,控制臺如下所示。

以上即SQL方式統(tǒng)計列信息的實現(xiàn)方案。

SQL適用場景

1、最多兩個字符,通過下劃線作為連接符,對于多個下劃線的情況,case when 單獨處理

到此這篇關于MySQL可直接使用的查詢表的列信息(實現(xiàn)方案)的文章就介紹到這了,更多相關mysql查詢表的列信息內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL 數據類型和建庫策略

    MySQL 數據類型和建庫策略

    無論是在小得可憐的免費數據庫空間或是大型電子商務網站,合理的設計表結構、充分利用空間是十分必要的。這就要求我們對數據庫系統(tǒng)的常用數據類型有充分的認識。
    2008-12-12
  • Mysql中xtrabackup備份的實現(xiàn)

    Mysql中xtrabackup備份的實現(xiàn)

    Xtrabackup是Percona團隊開發(fā)的用于MySQL數據庫物理熱備份的開源備份工具,本文就來介紹一下Mysql中xtrabackup備份的實現(xiàn),就有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • MySQL中的數據加密解密安全技術教程

    MySQL中的數據加密解密安全技術教程

    在數據庫應用程序中,數據的安全性是至關重要的,MySQL作為一種常用的關系型數據庫管理系統(tǒng),也提供了一些數據加密和解密的技巧來保護敏感數據的安全性,為了保護敏感數據免受未經授權的訪問,我們可以使用加密和解密技術
    2024-01-01
  • MySQL8.0.11安裝總結教程圖解

    MySQL8.0.11安裝總結教程圖解

    本文通過圖文并茂的形式給大家介紹了MySQL8.0.11安裝總結,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • MYSQL設置字段自動獲取當前時間的sql語句

    MYSQL設置字段自動獲取當前時間的sql語句

    整理數據庫數據,看到好多表都有加create_time和 update_time字段,來記錄數據插入的時間和更新時間,但是時間插入是通過代碼來維護的,這篇文章主要介紹了MYSQL設置字段自動獲取當前時間,需要的朋友可以參考下
    2023-07-07
  • MySQL無法讀表錯誤的解決方法(MySQL 1018 error)

    MySQL無法讀表錯誤的解決方法(MySQL 1018 error)

    這篇文章主要為大家詳細介紹了MySQL無法讀表錯誤的解決方法,MySQL 1018 error如何解決?具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 一篇文章帶你了解SQL之CASE WHEN用法詳解

    一篇文章帶你了解SQL之CASE WHEN用法詳解

    本文介紹下,在mysql數據庫中,有關case when語句的用法,介紹了case when語句的基礎知識,并提供了相關實例,供大家學習參考,有需要的朋友不要錯過
    2021-08-08
  • Mysql如何優(yōu)化查詢速度

    Mysql如何優(yōu)化查詢速度

    這篇文章主要介紹了Mysql如何優(yōu)化查詢速度問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 快速解決mysql導數據時,格式不對、導入慢、丟數據的問題

    快速解決mysql導數據時,格式不對、導入慢、丟數據的問題

    這篇文章主要介紹了快速解決mysql導數據時,格式不對、導入慢、丟數據的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • MySQL如何基于Explain關鍵字優(yōu)化索引功能

    MySQL如何基于Explain關鍵字優(yōu)化索引功能

    這篇文章主要介紹了MySQL如何基于Explain關鍵字優(yōu)化索引功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10

最新評論

凌海市| 镇江市| 集贤县| 珲春市| 独山县| 武威市| 连南| 蓬安县| 揭西县| 崇义县| 凯里市| 邢台市| 应城市| 日土县| 宜宾县| 蒙城县| 长岛县| 淳安县| 通河县| 沾化县| 罗源县| 青川县| 积石山| 福泉市| 大理市| 灵台县| 深泽县| 龙泉市| 墨脱县| 湛江市| 福建省| 靖安县| 景德镇市| 西丰县| 突泉县| 和龙市| 建德市| 深州市| 阿城市| 石泉县| 镇江市|