第27章グローバリゼーションとローカリゼーション読書ノート - になりますMySQLの知っている必要があります

この章では、異なる文字セットや言語でのMySQLの契約の基本を説明しています。

文字セットとの照合順序
保存したデータを取得するために使用されるデータベーステーブル。
異なる言語と文字セットが保存され、別の方法で取得する必要があります。したがって、MySQLの必要性は、異なる文字セット(異なる文字と文字)、対応するソートとデータが適用される取得の異なる方法を
複数の言語と文字セットを議論するには、以下の重要な用語が発生します:
①文字セットは、文字や記号の集合体である。
②符号化文字集合は、内部表現のメンバーである、
の命令を学校のチームのために文字の規定を比較する方法
バーシティなぜそれが重要なのですか?
ソート英語のテキストで、簡単に右でありますか?それはあなたが大文字と小文字を区別するかどうかに依存します。ユースケースに敏感な照合順序は、別の並べ替えがあり、大文字と小文字を区別しない照合順序を使用して、これらの言葉のようなものがあります。
これは、また、(例えば、句を見つけることができるAPPLEのリンゴかどうかを調べるために)検索に影響を与える(そのようなデータをソートすることにより、使用順序など)のソートに影響するだけでなく
、フランス語やドイツ語などの文字の使用では、状況はより多くのラテン語に基づいて、ない複雑さテキストの文字が設定されている場合、状況はより複雑になります。
正常な活動でMySQLデータベース(選択、挿入、等)は、あまりにも多くのことを心配する必要はありません。サーバー、データベース、テーブルレベルで行われているもののキャラクタセットと照合順序を決定します
2使用キャラクタセットと照合順序
MySQLサポート、多くの文字セット。サポートされている文字セットの完全なリストを表示するには、次の文を使用します。

show character set;

この文ショー、利用可能なすべての文字セットと同様に、各キャラクタセットとデフォルト照合の説明。
サポートされる校正の完全なリストを表示するには、次の文を使用します。

show collation;

照合は、意味の証拠です。
この文を表示し、使用可能なすべての校正だけでなく、彼らが適用される文字セット。私たちは見ることができますいくつかの文字が複数の校正を持っています例えば、latin1の異なるヨーロッパ言語には、いくつかの校正、校正を持っており、多くは、2回表示さ一度、大文字と小文字を区別(_csによって表される)、大文字と小文字を区別しない(_ciによって表されます)。
システム管理は、通常、インストール時にデフォルトの文字セットと照合を定義しています。データベースを作成すると、あなたはまた、デフォルトの文字セットと照合順序を指定することができます。使用される文字セットと照合順序を決定するには、次のステートメントを使用することができます。

show variables like 'character%';
show variables like 'collation%';

実際には、非常に小さな文字セットは、サーバ全体(あるいはデータベース全体)の設定です。別のテーブル、あるいは異なる列は、異なる文字セットを必要とするかもしれない、とテーブルを作成するときに、両方を指定することができます。
キャラクタセットと照合順序テーブルを指定するためには句でテーブルを作成し使用することができます。

create table mytable
(
  column1 int,
  column2 varchar(10)
)default character set hebrew
 collate hebrew_general_ci;

この文は、2つのカラムを持つテーブルを作成し、キャラクタセットと照合順序を指定します。
この例では、文字セットとCOLLATEの両方を指定します。
通常、MySQLはどのような文字セットと照合を決定した:
①指定された文字セットとCOLLATEの両方が、それらの値を使用している場合、
②のみ文字セット、このデフォルトの文字セットと照合(例えば、ショーの文字を使用する場合セットに示される結果)。
どちらの文字セットは、COLLATEを指定しなかった場合③、デフォルトのデータベースを使用します。
次のように指定された文字セットと照合テーブルの範囲に加えて、MySQLは、それらが列毎に設けられできます。

create table mytable
(
  column1 int,
  column2 varchar(10),
  column3 varchar(10) character set latin1 collate latin1_general_ci
)
default character set hebrew collate hebrew_general_ci; 

これは、文字セットを指定し、テーブル全体や特定の列を照合します。
上述のように句取得したデータの順序で順番に使用された場合、それは校正において重要な役割を果たしています。あなたはselect文自体にあることができる証拠の異なる順序でテーブルを作成し、特定のSELECT文をソートする必要がある場合:

select * from customers
order by lastname,firstname collate latin1_general_cs;

これは、(この例では大文字と小文字を区別しない校正用の)指定された順序を校正代替使用コレートを選択します。これは明らかに結果をソートするために影響を与えます。
一時的な場合は、機密:上記のselect文は、技術に通常の大文字と小文字を区別しないテーブル内の大文字と小文字を区別した検索を示しています。もちろん、その逆も可能です。
他の選択COLLATE句は:order by句以外に加えて、ここに参照し、それはまた、集約関数、エイリアスを有することにより、コレートグループに使用されてもよいです。
最後に、それは絶対に必要であれば、文字列は文字セットの間で変換することができ、ことは注目に値します。キャスト(この目的のために使用される)または変換()関数であってもよいです。

まとめ
本章では、文字セットと校正の基礎を学んだだけでなく、必要に応じて代替を使用する方法校正、特定のテーブルと列のキャラクタセットおよび校正を定義する方法を学びました。

公開された91元の記事 ウォンの賞賛8 ビュー8332

おすすめ

転載: blog.csdn.net/weixin_43854189/article/details/104080903