DAY 34 WEBサービス部 Lesson6 照合順序について

DAY 34 Webサービス部-Lesson6 / 照合順序とutf8_general_ci【ウェブカツ 】

SQL DAY 34 WEBサービス部 Lesson6 照合順序について

本日のプログラミング学習

Webサービス部 / 2hour

Aug / 67.0hour

Total / 92.0hour

 

MySQLにおける論理名と物理名

論理名 = 人間が扱うテーブルの名前

物理名 = コンピューター側が扱うテーブルの名前

 

例えば、ユーザー登録のデータベースを作りたいとして、PHP上で実際に[users]というテーブルを作成した。

この[users]というのは物理名。

このテーブルを開発者同士が分かりやすく「ユーザー登録テーブル」として、仕様書やコメントで用いることがある。

この時の「ユーザー登録テーブル」が論理名。

 

参考

https://wa3.i-3-i.info/diff416name.html

http://www.rel-ish.co.jp/staff_blog/2010/08/post-424.html

 

照合順序(Collation)とutf8_general_ciについて

・そもそも「照合順序」って何だ?

→「文字の大小関係を比較する場合の基準」のこと。このルールを厳密に定義しておかないと、データを引っ張ってくるその時々で違うデータを呼び出すことになってしまう。そのため、「どの順序で文字の大小を決定しますか?」というルールを決める、というニュアンス。

 

・命名規則

→照合順序には、命名規則がある。それがこちら。

”文字コード_言語名_比較法”

文字コード:コンピューター上で利用する文字と、各文字に割り当てたバイトで表した数字との対応関係のこと。JIS、utf-8など。

言語名:Japanese, English, generalなど、どの言語を使用するのか

比較法:三つある。

_ci: 大文字と小文字が区別されない 
_cs: 大文字と小文字が区別される 
_bin: バイナリ

 

・じゃあ、照合順序=「utf-8_general_ci」は結局何を表すのか?

utf-8:utf-8という文字コードで、

general:言語は多言語を用いて、(マルチリンガル)

ci:大文字と小文字を区別なく、文字の大小を比較して順序をつけてね。

 

というルールを決めている、となる。(かなりザックリだけど)

一般的にはこの「utf-8_general_ci」というものが使用されるみたいだけど、もし他の照合順序が出てきても慌てないように今回まとめました。

 

参考

文字コードについて:https://uxmilk.jp/45155

照合順序の定義について:https://blogs.msdn.microsoft.com/jpsql/2016/07/26/1-3/

照合順序について:http://blog.6vox.com/2014/05/mysqlcollatoin.html

 

 

学習は全てウェブカツ!!というプログラミングスクールで学んでいます。

プログラミングスクール「ウェブカツ!!」

大手スクール生徒や現役エンジニアが多数学び直している「実務レベル」に特化した「稼ぐ」ためのプログラミングスクール[…]

DAY 34 WEBサービス部 Lesson6 照合順序について
最新情報をチェックしよう!