postgresqlのjsonbデータの問い合わせと変更方法
2022-01-21 09:06:15
jsonbとは何ですか?
PostgreSQLのドキュメントで定義されているjsonとjsonbのデータ型はほとんど同じです。重要な違いは、jsonデータはJSON入力テキストの正確なコピーとして格納されるのに対し、jsonbはデータを分解したバイナリ形式、つまり、ASCII / UTF-8文字列としてではなく、バイナリコードとして格納するという点です。
この記事では、postgresqlでjsonb形式のデータをその場で問い合わせたり、変更したりする方法に焦点を当てます。
I. クエリ
簡単なクエリ
# The data stored is in key-value format, and the corresponding value is obtained by specifying the key
# Use -> to return the result with quotes
select '{"nickname": "goodspeed", "avatar": "avatar_url"}'::json->'nickname' as nickname;
# Use ->> to return results without quotes
select '{"nickname": "goodspeed", "avatar": "avatar_url", "tags": ["python", "golang", "db"]}'::json->>'nickname' as nickname;
複雑なクエリ
# {tags,0} means query key='tags' and value is the first element of the array in the array
select '{"nickname": "gs", "avatar": "avatar_url", "tags": ["python", " golang", "db"]}'::json#>'{tags,0}' as tag;
# {aa,b,0} represents the query key='aa', corresponding to the first element of the array in the value of key='b'
select '{"nickname": "gs", "avatar": "avatar_url", "tags": ["python", " golang", "db"], "aa":{"b": [{"c": 1}]}}'::jsonb#>>'{aa,b,0}';
次に
修正
jsonb_set(original data, position to be changed, value to replace, whether to add if it doesn't exist),
select jsonb_set('[{"f1":1,"f2":null},2,null,3]', '{0,f1}', '[2,3,4]', false);
この記事postgresql jsonbデータクエリと変更はここにある、より関連postgresql jsonbデータクエリと変更内容は、スクリプト家の前の記事を検索してくださいまたは次の関連記事を閲覧し続けるあなたは、今後よりスクリプト家をサポートすることを願っています!.
関連
-
PostgreSQLのURL解決方法
-
単語をソートするカスタム関数とそれをPostgreSQLで使用する(実装コード)
-
Postgresqlへのリモートアクセスの設定方法(ファイアウォールの設定またはOFFが必要です。)
-
エクセルテーブルのデータをpostgresqlのデータベースにインポートする方法
-
どのように定期的にLinux上でpostgresqlのデータベースをバックアップする
-
Postgresqlのデータベース権限まとめ
-
Postgresqlのデータは、2つのフィールドを追加し、一意の操作を統合する
-
Postgresqlのセルフインクリメントidをキーにした場合の重複問題の解決
-
PostgreSqlのhash_code関数の使用法
-
PostgreSQLにおけるVACUUMコマンドの使用方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PostgreSQLのJSONBのマッチングと交差の問題について
-
PostgreSQLのテーブルをパーティション分割する3つの方法
-
Centos環境でのPostgresqlのインストールと設定、環境変数の設定Tips
-
postgresqlにおける時間処理のコツ(推奨)
-
Postgresqlのユーザーログインエラーの回数を制限するサンプルコード
-
PostgreSQLのユーザーログイン失敗時の自動ロック解決策
-
pgAdmin for postgreSQLでサーバーのデータをバックアップする方法
-
postgreSQLのクエリ結果に自己インクリメントシーケンス演算が追加されました。
-
Postgresqlのシーケンススキップの問題を解決する
-
oracle_fdwを介してOracleデータにアクセスするためのPostgreSQLの手順