對MySQL表進行解構操作
P粉549986089
2023-08-29 18:24:12
<p>我想知道是否可以將這個輸出更改為:</p>
<pre class="brush:php;toolbar:false;">User Database Select Insert Update Delete Create References Alter Drop
------------- ------------------ ------ ------ ------ - ----- ------ ---------- ------ --------
mysql.session performance_schema 1 0 0 0 0 0 0 0
mysql.sys sys 0 0 0 0 0 0 0 0</pre>
<p>變成這樣:</p>
<pre class="brush:php;toolbar:false;">Users Privileges performance_schema sys
----- ---------- ------------------ ---
mysql.session Select 1
mysql.session Insert 0
mysql.session Update 0
mysql.session Delete 0
mysql.session Create 0
mysql.session References 0
mysql.session Alter 0
mysql.session Drop 0
mysql.sys Select 0
mysql.sys Insert 0
mysql.sys Update 0
mysql.sys Delete 0
mysql.sys Create 0
mysql.sys References 0
mysql.sys Alter 0
mysql.sys Drop 0</pre>
<p>我使用的查詢語句是:</p>
<pre class="brush:php;toolbar:false;">SELECT
DISTINCT
USER "User",
db "Database",
IF(Select_priv = 'Y', '1 ', '0') AS "Select",
IF(Insert_priv = 'Y', '1 ', '0') AS "Insert",
IF(Update_priv = 'Y', '1', '0') AS "Update",
IF(Delete_priv = 'Y', '1', '0') AS "Delete",
IF(Create_priv = 'Y', '1', '0') AS "Create",
IF(References_priv = 'Y', '1', '0') AS "References",
IF(Alter_priv = 'Y', '1', '0') AS "Alter",
IF(Drop_priv = 'Y', '1', '0') AS "Drop"
FROM
mysql.db
ORDER BY
USER, Db;</pre>
<p>任何幫助將不勝感激。提前謝謝! </p>
這是一個「unpivot」的範例:
抱歉,無法自動根據查詢找到的資料為每個模式定義列的透視或反透視查詢。在查詢開始讀取資料之前,必須在查詢中設定列。