Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MySQL徹底入門 第4版 - ユーザー管理とか文字コードとか / MySQL Book 4 ...

MySQL徹底入門 第4版 - ユーザー管理とか文字コードとか / MySQL Book 4 - User and Charset

ニフクラエンジニアミートアップ https://fujitsufjct.connpass.com/event/182580/ でしゃべった時のスライドです。

Avatar for とみたまさひろ

とみたまさひろ

July 29, 2020
Tweet

More Decks by とみたまさひろ

Other Decks in Technology

Transcript

  1. 自己紹介 自己紹介 とみたまさひろ 日本MySQLユーザ会 (文字化け担当) MySQL Parameters 好きなMySQLの命令はSHOW CREATE TABLE

    富士通クラウドテクノロジーズ ニフクラ いま見てる人は全員知ってるはず 認知度100% @tmtms https://tmtms.hatenablog.com https://mysql-params.tmtms.net/mysqld/?vers=8.0.21 2
  2. 執筆分 執筆分 5 「ユーザー管理」 10.5 「データベースプログラミング Ruby」 11 「文字コードと日本語環境」 14

    「逆引きMySQL辞典」のうちの2項目 全体の1割弱 その他、GitLab や Mattermost を用意したり 全体をレビューしたり 3
  3. 文字列比較 文字列比較 なんでやねん! というのを説明 SELECT 'abc'='ABC' => ⭕ SELECT '〇'='0'

    => ⭕ SELECT 'うさぎさんちーむ'='ウサギ㌠' => ⭕ SELECT '平成'='㍻' => ⭕ SELECT '令和'='㋿' => ❌ 9
  4. 文字列比較 文字列比較 なんでやねん! というのを説明 SELECT * FROM tbl WHERE utf8mb4_col

    = _ascii'ABC' => ⭕ SELECT * FROM tbl WHERE ascii_col = _utf8mb4'ABC' => ⭕ SELECT * FROM tbl WHERE ascii_col = _utf8mb4'ほげ' => ❌ ERROR 1267 (HY000): Illegal mix of collations (ascii_general_ci, IMPLICIT) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation '=' 10
  5. ソート順 ソート順 JISマニア向け utf8mb4_ja_0900_as_cs mysql> SELECT c,HEX(c) FROM t ORDER

    BY c; +------+--------+ | c | hex(c) | +------+--------+ | 亜 | E4BA9C | | 伊 | E4BC8A | | 宇 | E5AE87 | | 栄 | E6A084 | ← | 奥 | E5A5A5 | ← +------+--------+ 11
  6. ソート順 ソート順 長音記号もJIS準拠 mysql> SELECT * FROM tt ORDER BY

    c; +--------+ | c | +--------+ | あー | ←「あ」よりも前 | ああ | | あい | | あう | | いあ | | いー | ←「あ」と「い」の間 | いい | | いう | | うあ | | うい | | うー | ←「い」と「う」の間 | うう | +--------+ 12