dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

mysql で json データを検索

2023-02-26 16:03:56 | mysql
mysql で json データを検索する方法のメモ。

■テーブル定義
create table json5 (
  id       varchar(16) not null,
  obj      json,

  primary key (id)
);

■データ登録
insert into json5 set
 id = '01',
 obj = '{"id": "01", "items": [{"name": "name01_01", "value": "value01_01"}, {"name": "name01_02", "value": "value01_02"}]}'
;

insert into json5 set
 id = '02',
 obj = '{"id": "02", "items": [{"name": "name02_01", "value": "value02_01"}, {"name": "name02_02", "value": "value02_02"}, {"name": "name02_03", "value": "value02_03"}]}'
;

■検索
以下では、json_search() を使って検索しています。
json_search() には以下のようにパラメータを指定します。
json_search(json_doc, one_or_all, search_str[, escape_char[, path] ...)
select
  json_pretty(obj)
from
  json5
where
  json_search(obj, 'one', 'name01_02', null, '$.items[*].name')
\G

■検索結果
*************************** 1. row ***************************
json_pretty(obj): {
  "id": "01",
  "items": [
    {
      "name": "name01_01",
      "value": "value01_01"
    },
    {
      "name": "name01_02",
      "value": "value01_02"
    }
  ]
}


pdf をページ毎に画像に変換

2023-02-24 23:25:34 | 画像処理
pdftoppm コマンドで pdf をページ毎の画像ファイルに変換することができます。
pdftoppm コマンドの使い方は以下の通り。
pdftoppm {オプション} {PDFファイル名} {画像ファイル名プレフィックス}


test.pdf から jpeg 画像ファイル変換する場合には、以下のようなコマンドを実行します。
pdftoppm -jpeg test.pdf test-jpeg

test-jpeg は画像ファイル名のプレフィックスで、上記のコマンドを実行すると、以下のように jpeg ファイルが生成されます。
test-jpeg-01.jpg
test-jpeg-02.jpg
...
test-jpeg-12.jpg


png ファイルに変換したい場合には、上記のコマンドで -png を指定します。

Android Studio のエディタで Ctrl-H を Backspace にする

2023-02-04 15:05:33 | Android
Android Studio で Emacs のキーバインドを設定しても Ctrl-H は Type Hierarchy が表示されます。
そのため、Ctrl-H で Backspace になるように設定変更を行います。

まず、Ctrl-H で Type Hierarchy が表示されないようにします。
・上部の File メニューを開き、Settings を選択。
・Keymap をクリック
・MainMenu を開く
・Navigate を開く
・Type Hierarchy をダブルクリック
・Remove Ctrl+H をクリック

次に、Ctrl-H がバックスペースになるよう設定します。
・Editor Actions を開く
・Backspace をダブルクリック
・Add Keyboard Shortcut をクリック
・"Backspace" の入力ボックスで Ctrl を押しながら H を押す
・OKを押す