ホームページ > データベース > mysql チュートリアル > JSON 配列を MySQL の行に効率的に変換するにはどうすればよいですか?

JSON 配列を MySQL の行に効率的に変換するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-30 14:33:15
オリジナル
255 人が閲覧しました

How Can I Efficiently Convert JSON Arrays into Rows in MySQL?

MySQL で JSON 配列を行に変換する

MySQL 5.7 では、JSON 操作が大幅に強化され、データの抽出と処理のための多様な機能が提供されています。 JSON 構造内。ただし、JSON 配列を行に変換する逆の操作は簡単ではありません。

JSON 配列を行に変換

JSON 配列の各要素に行を挿入するには、以前は複数の JSON_EXTRACT() クエリを使用する手動のアプローチが必要でした。しかし、MySQL 8 の JSON_TABLE 関数の導入により、このプロセスはより合理化されました。

SELECT *
FROM JSON_TABLE([5, 6, 7], '$[*]'
COLUMNS(
  Value INT PATH '$'
));
ログイン後にコピー

JSON 配列をカンマ区切り文字列に変換

GROUP_CONCAT() を使用して JSON 配列をカンマ区切りの文字列に変換するには、次のようなトリックがあります。採用:

set @delimited = 'a,b,c';

SELECT *
FROM JSON_TABLE(
  CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'),
  '$[*]'
  COLUMNS(
    Value varchar(50) PATH '$'
  )
);
ログイン後にコピー

このアプローチは区切り文字列を JSON 文字列として扱い、変換されたカンマ区切り文字列になります。

STRING_SPLIT 関数がありません

MySQL には専用の STRING_SPLIT() 関数がありませんが、JSON_TABLE 関数は次の役割を果たします。分割操作の代わりに、区切り文字で区切られた文字列をコンポーネントに効果的に分割します。

以上がJSON 配列を MySQL の行に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート