序文 BINARY と VARBINARY は、文字列ではなくバイナリ文字列を格納する点を除いて、CHAR 型と VARCHAR 型に似ています。つまり、BINARY と VARBINARY には文字セットの概念がなく、並べ替えや比較はすべてバイナリ値に基づいて行われます。 次の例を見てみましょう。 mysql> テーブル t を作成します ( -> バイナリ(1) ->)ENGINE=InnoDB CHARSET=GBK; クエリは正常、影響を受けた行は 0 行 (0.02 秒) mysql> 名前を設定する GBK; クエリは正常、影響を受けた行は 0 行 (0.00 秒) MySQL> INSERT INTO t SELECT 'i'; クエリは正常、1 行が影響を受け、1 つの警告 (0.01 秒) 記録: 1 重複: 0 警告: 1 mysql> 警告を表示\G; ************************** 1. 行 **************************** レベル: 警告 コード: 1265 メッセージ: 行 1 の列 'a' のデータが切り捨てられました セット内の 1 行 (0.00 秒) mysql> SELECT a,HEX(a) FROM t\G; ************************** 1. 行 **************************** あ: 16進数(a): CE テーブル t には mysql> テーブル t を作成します ( -> CHAR(1) ->)ENGINE=InnoDB CHARSET=GBK; クエリは正常、影響を受けた行は 0 行 (0.02 秒) mysql> INSERT INTO t SELECT 'I'; クエリは正常、1 行が影響を受け、1 つの警告 (0.01 秒) 記録: 1 重複: 0 警告: 0 mysql> SELECT a,HEX(a) FROM t\G; ************************** 1. 行 **************************** a: I 16進数 (a): CED2 セット内の 1 行 (0.00 秒) BINARY と VARBINARY を CHAR と VARCHAR と比較した場合の最初の違いは、 mysql> 選択 -> HEX('a')、 -> HEX('a ')、 -> 'a' = 'a '\G; ************************** 1. 行 **************************** 16進数('a'): 61 16進数('a'): 612020 'a'='a': 1 セット内の 1 行 (0.00 秒) mysql> 選択 -> 16進数(バイナリ('a'))、 -> 16進数(バイナリ('a '))、 -> BINARY('a') = BINARY('a ')\G; ************************** 1. 行 **************************** 16進数(2進数('a')): 61 16進数(2進数('a ')): 612020 バイナリ('a') = バイナリ('a '): 0 セット内の 1 行 (0.00 秒) CHAR と VARCHAR の場合は文字値を比較するため、最初の比較の戻り値は 1 になります。 BINARY と VARBINARY の場合、比較はバイナリ値に対して行われます。「a」の 16 進値は 61 で、「a 」の 16 進値は 612020 であり、明らかに異なります。したがって、2 番目の比較の戻り値は 0 になります。 3 番目の違いは、BINARY 文字列の場合、埋め込み文字は 0x00 であるのに対し、CHAR の場合、埋め込み文字は 0x20 であることです。これは、バイナリ比較の要件によるものと考えられます。0x00 は明らかに比較の最小文字です。例は次のとおりです。 mysql> テーブル t ( a BINARY(3) ) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> INSERT INTO t SELECT 'a'; クエリは正常、1 行が影響を受けました (0.00 秒) 記録: 1 重複: 0 警告: 0 mysql> SELECT a,HEX(a) FROM t\G; ************************** 1. 行 **************************** : : 16進数(a): 610000 セット内の 1 行 (0.00 秒) 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: React.cloneElement の使い方の詳しい説明
>>: ログインフォームを実装するためのReactサンプルコード
Compose のいくつかの部分は、何らかの方法で環境変数を扱います。このチュートリアルは、必要な情...
1. 問題Linux 上の mysql5.7 のパスワードを忘れました2. 解決策• ステップ 1:...
FFmpeg flacをインストールする eric@ray:~$ sudo apt install ...
目次1.配列を初期化する2. 配列の合計、最大値、最小値3. エラー値をフィルタリングする4. 論理...
導入今日は Python でデータベースに接続する方法を学んだので、MySQL データベースをインス...
テーブル パーティショニングは、データベース パーティショニングとは異なります。では、テーブル パー...
yum クイックインストール mysql yumリポジトリを追加する rpm -Uvh http:...
Docker 公式ドキュメントからの翻訳、原文: https://docs.docker.com/n...
前提条件Compose は、Docker コンテナをオーケストレーションするためのツールです。Doc...
目次1 概念上の区別2 事例紹介3 クエリパフォーマンス4 アップデートのパフォーマンス4.1 記憶...
今日は、ローカルの Docker プロジェクト イメージを dockerhub に公開する方法を紹介...
1. kvm仮想化をインストールする : : : : : : : : : : : : : : : :...
この記事では、Docker を使用して Centos6 に Zookeeper をデプロイする方法に...
現在、インターネット上でウェブサイトをコピーすることは非常に一般的です。では、他人が私たちのウェブサ...
1. 概要ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージ...