MySQL keyを指定して値を置換する

MySQL keyを指定して値を置換する

MySQLで、keyを指定して値を置換する手順を記述してます。

環境

  • OS ubuntu21.10
  • MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
  • MySQL Workbench 8.0.27

手順

keyを指定して値を置換する場合は、「JSON_REPLACE」を使用します。

JSON_REPLACE('json','key','置換する値')

実際に、置換してみます。

SELECT 
JSON_REPLACE('{"a": 1, "b": 2}', '$.a', 10),
JSON_REPLACE('{"a": 1, "b": 2}', '$.b', 20)

実行結果をみると、置換されていることが確認できます。

存在しないkeyを指定すると、置換は行われません。

SELECT 
JSON_REPLACE('{"a": 1, "b": 2}', '$.c', 10)

実行結果

keyが存在しない場合、新たに追加するには「JSON_SET」を使用します。

SELECT 
JSON_SET('{"a": 1, "b": 2}', '$.a', 10),
JSON_SET('{"a": 1, "b": 2}', '$.c', 10)

実行結果