今回は MySQLを使ってJSON形式のデータを作ることにトライしてみました。正直よくわからんけど、まぁやりたいことは一応実現可能なのかな、といったレベルの理解です。 目標とするデータ形式 Cocoaのデータっぽい形式を目指すことにします。細かい部分で違ったり端折ったりするので、まったく同じものを目指すわけではありません。 基本的なJSON要素の生成 MySQLでのJSONデータの生成では、「JSON配列の生成」と「JSONオブジェクトの生成」があります。今回目標とする形式の大枠は、名前と値がセットになった「JSONオブジェクト」なので、JSON_OBJECT()関数を使います。 引数にはひた…
7月にリリースされた MySQL 8.0.30 では「Generated Invisible Primary Key(GIPK)」という機能が追加されました。各テーブルにPKがあることを必須とし、ない場合はテーブル作成時に自動的に不可視列としてAUTO_INCREMENTなPK列を追加してくれる、という機能です。Invisible Column の仕組み自体は MySQL 8.0.23 (2021年1月)で追加されたものです。当時の日記を読み返すと、使い道がよくわからないと言いながらも、8.0.30で追加された機能と似たような使い方を想像はしていたようです。悪くない。sakaik.hatebl…
LINE Developer Meetup #73 - MySQL - connpass に参加してきました。
私のトークの資料はこちらで、
公開されているアーカイブ動画はこちらです。
ハッシュタグもまとめてみました。
LINE
Developer Meetup #73 - MySQL ハッシュタグ拾い - Togetter
ここから先はポエムです。
今回、 “日本MySQLユーザ会のyoku0825” として参加しました。
俺はここ一年くらいスランプで、なんか(俺っぽい内容で)アウトプットできてないなあと思っていたので、初心に帰って 日本MySQLユーザ会 の肩書を借りて登壇させてもらいました。
…
[さらに読む]MySQL 8.0.30 と MySQL 5.7.39 がリリースされました。. MySQL 8.0.30 ダウンロード: https://dev.mysql.com/downloads/mysql/ MySQL 8.0.30 リリースノート: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html . MySQL 5.7.39 ダウンロード https://dev.mysql.com/downloads/mysql/5.7.html MySQL 5.7.39 リリースノート https://dev.mysql.com/…
MySQLでJSONを扱う入門として 前回の日記 では比較的シンプルな関数群を試してみました。今回は、JSON 内の配列部分をテーブルにして返す JSON_TABLE 関数を試してみます。 JSON_TABLE() の基本的な使い方。 JSON_TABLE()は、JSON内の配列部分を引数に与えて、その配列内の要素をテーブル形式にして返してくれる関数です*1。「1個のJSONデータ」から複数の行が生成されます。 以下は、JSON_TABLE()関数の第一引数に生のJSON配列をそのまま与えてみた例です。 mysql> SELECT * FROM JSON_TABLE('[ '> { '> "D…
MySQLでのJSONデータの扱い方を、いつか試してみなきゃなぁと思い始めて2年以上が経っているのですが、ようやく、触ってみたいと思うJSONデータに出会ったので、重い腰を上げて試してみました。当方、JSON初心者ですので、このエントリは「お勉強日記」です。 JSONデータ 先日はじめて、COCOAアプリからの接触確認通知が来ました。このデータはJSON形式のデータとして取り出せるということで、これが今回扱うターゲットデータとなります。 手順としては、 COCOAアプリで「情報を保存」ボタンを押して、データを取り出し(私は手軽にメールで自分宛に送信する方法を採りました) 取り出したテキストファ…
MySQL に独自 charset を追加できる…という話はずっと前に聞いたことあったけど、やったことなかったんでやってみた。
詳しくは MySQL :: MySQL 8.0 リファレンスマニュアル :: 10.13 文字セットの追加 を。
マルチバイト charset は C でプログラムを書いてコンパイルする必要があるけど、1バイト charset はファイルを置くだけで追加できる。
1バイトの charset と言えばみんなご存知の JIS X
0201 ですよね。ということで、jisx0201
という charset を作ってみる。
JIS X 0201 のコードはこんな感じ:
x0 | x1 | x2 … |
---|
TL;DR
- 同じ動作をするけどシノニムではない何かを思いつく限り
- See also, MySQLのシノニム - tmtms のメモ and MySQL: desc は explain !? - sakaikの日々雑感~(T)編
実装上はシノニムになっていないけれど、同じ(ような)動きをする何かたち。
その1 | その2 | 扱い |
---|---|---|
MASTER, SLAVE系 | SOURCE, REPLICA系 | sql/sql_yacc.yyの中で丸められている |
{SHOW|PURGE} BINARY LOGS | {SHOW|PURGE} MASTER LOGS | 同上 |
sakaik さんが MySQL: desc は explain !? - sakaikの日々雑感~(T)編 という記事を上げてたのを見て、そういや最近はほかにどんなのがあるんだっけ…と思って調べてみた。
以下はMySQL 8.0.29 の sql/lex.h から抽出したもの。字句解析上のシノニム。
<> | != | ||
ANY | SOME | ||
BIGINT | INT8 | ||
CHAR | … |