MySQL テーブルを分解する
P粉549986089
2023-08-29 18:24:12
<p>この出力を次のように変更できるかどうか疑問に思っていました: </p>
<pre class="brush:php;toolbar:false;">ユーザー データベースの選択 挿入 更新 削除 参照の作成 変更 削除
------------- ------- ------ ------ ------ - ----- ------ ---------- ------ --------
mysql.session パフォーマンス スキーマ 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;">ユーザー権限 Performance_schema sys
----- ---------- ------------------ ---
mysql.session 選択 1
mysql.session 0 を挿入
mysql.session アップデート 0
mysql.session 0を削除
mysql.session 0 を作成する
mysql.session 参照 0
mysql.session 変更 0
mysql.session ドロップ 0
mysql.sys 0 を選択します
mysql.sys 0を挿入
mysql.sys アップデート 0
mysql.sys 0を削除
mysql.sys 0 を作成する
mysql.sys 参照 0
mysql.sys 変更 0
mysql.sys ドロップ 0</pre>
<p>私が使用したクエリ ステートメントは次のとおりです。</p>
<pre class="brush:php;toolbar:false;">SELECT
明確な
USER "ユーザー"、
データベース「データベース」、
IF(Select_priv = 'Y', '1 ', '0') AS "選択",
IF(Insert_priv = 'Y', '1 ', '0') AS "挿入",
IF(Update_priv = 'Y', '1', '0') AS "更新",
IF(Delete_priv = 'Y', '1', '0') AS "削除",
IF(Create_priv = 'Y', '1', '0') AS "作成",
IF(References_priv = 'Y', '1', '0') AS "参照",
IF(Alter_priv = 'Y', '1', '0') AS "Alter",
IF(Drop_priv = 'Y', '1', '0') AS "ドロップ"
から
mysql.db
注文方法
ユーザー、Db;
<p>ご協力いただければ幸いです。よろしくお願いします! </p>
これは「アンピボット」の例です:
リーリー申し訳ありませんが、クエリで見つかったデータに基づいてスキーマごとに列のピボット クエリまたはアンピボット クエリを自動的に定義する方法はありません。クエリがデータの読み取りを開始する前に、クエリに列を設定する必要があります。