mysql.help_topic的作用以及使用方法
今天在查詢sql寫法時突然出現一個沒有接觸過的表,mysql.help_topic.
網上也沒有給出作用及解釋,都是一些使用方法,對于不了解的人會容易蒙圈.
經過長時間的查詢后寫下這篇文章,希望能幫到大家,錯誤的地方還請指出.
mysql.help_topic本身是mysql的一張信息表,用來存儲各種注釋等幫助信息.比如

同時它有一個特點,擁有一個自增為1的id屬性--help_topic_id 并且 擁有固定數量的數據
這時就可以通過這兩個特點做一些表關聯(lián)操作來達到簡單sql無法達到的事情.
比如如下這段
SELECT
DATE( DATE_ADD( '2022-05-01', INTERVAL @s DAY ) ) AS date,
'異??倵l數' as e_name,
@s := @s + 1 AS `index`
FROM
mysql.help_topic,
( SELECT @s := 0 ) temp
WHERE
@s <= DATEDIFF('2022-05-31','2022-05-01')查詢結果

( SELECT @s := 0 ) temp
原本只有一條記錄,和mysql.help_topic關聯(lián)后就可以展示多條數據.
再舉一個例子可以將自定義的字符串轉換為列數據
SELECT
substring_index(
substring_index( a.phone, ',', b.help_topic_id + 1 ),
',', - 1 ) AS phone
FROM
( SELECT '15555555555,12222222222' AS phone FROM DUAL ) a
INNER JOIN mysql.help_topic b ON b.help_topic_id < (
length( a.phone ) - length(
REPLACE ( a.phone, ',', '' )) + 1
)老規(guī)矩本來只有一條記錄的a表,關聯(lián)查詢后查詢出多條數據,where條件根據分隔符','判斷共幾條數據,select中查詢固定范圍字符串,substring_index先從左向右截取到第b.help_topic_id+1個','字符串,再從右向左截取第一個也就是最后一個,由此取出當前應該顯示的字符
查詢結果

總結
到此這篇關于mysql.help_topic的作用以及使用方法的文章就介紹到這了,更多相關mysql.help_topic使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql 5.5 開啟慢日志slow log的方法(log_slow_queries)
MySQL中提供了一個慢查詢的日志記錄功能,可以把查詢SQL語句時間大于多少秒的語句寫入慢查詢日志,日常維護中可以通過慢查詢日志的記錄信息快速準確地判斷問題所在2016-05-05
Centos7下使用yum安裝mysql數據庫的詳細教程(增強版)
這篇文章主要介紹了Centos7下使用yum安裝mysql數據庫的詳細教程(增強版),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12

