デフォルトでは、MySQLの文字タイプは大文字と小文字を区別しません。つまり、name='AAA'が='aaa'と同じであるselect * from tです。以下はテスト例です。 (root@localhost)[hello]> テーブル test1(id int, name varchar(10)) を作成します。 (root@localhost)[hello]> test1に値(1,'aaa'),(2,'AAA'),(3,'bbb'),(4,'BbB')を挿入します。 (root@localhost)[hello]> test1から*を選択します。 +------+------+ | ID | 名前 | +------+------+ | 1 | ああ | | 2 | AAA | | 3 | bbb | | 4 | ビビ | +------+------+ (root@localhost)[hello]> select * from test1 where name = 'AAA'; +------+------+ | ID | 名前 | +------+------+ | 1 | ああ | | 2 | AAA | +------+------+ (root@localhost)[hello]> select * from test1 where name = 'aaa'; +------+------+ | ID | 名前 | +------+------+ | 1 | ああ | | 2 | AAA | +------+------+ where条件後の「AAA」と「aaa」の結果に違いがないことがわかります。 「AAA」だけを検索したい場合は、いくつかの方法があります。 (root@localhost)[hello]> select * from test1 where binary name = 'AAA'; +------+------+ | ID | 名前 | +------+------+ | 2 | AAA | +------+------+ 2. 列定義を変更する まず元のテーブルの定義を表示します (root@localhost)[hello]> show create table test1\G ************************** 1. 行 **************************** 表: test1 テーブルの作成: CREATE TABLE `test1` ( `id` int(11) デフォルト NULL, `name` varchar(10) デフォルト NULL ) エンジン=InnoDB デフォルト文字セット=utf8mb4 テーブルtest1の名前列を変更する alter table test1 列名 varchar(10) 文字セット utf8mb4 を変更 utf8mb4_bin をデフォルト null に照合; collate utf8mb4_binは、フィルタリングまたは並べ替えで大文字と小文字が区別されることを示します。 test1の定義を確認します (root@localhost)[hello]> show create table test1\G ************************** 1. 行 **************************** 表: test1 テーブルの作成: CREATE TABLE `test1` ( `id` int(11) デフォルト NULL, `name` varchar(10) 文字セット utf8mb4 照合 utf8mb4_bin デフォルト NULL ) エンジン=InnoDB デフォルト文字セット=utf8mb4 次にクエリ文を実行します (root@localhost)[hello]> name='AAA' の test1 から * を選択します。 +------+------+ | ID | 名前 | +------+------+ | 2 | AAA | +------+------+ 次に、test2 テーブルを作成すると、列を変更する上記のステートメントが、実際には varchar の後に binary が続くテーブルを作成することと同じであることがわかります。 (root@localhost)[hello]> テーブル test2(id int, name varchar(10) binary); を作成します。 (root@localhost)[hello]> show create table test2\G ************************** 1. 行 **************************** 表: test2 テーブルの作成: CREATE TABLE `test2` ( `id` int(11) デフォルト NULL, `name` varchar(10) 文字セット utf8mb4 照合 utf8mb4_bin デフォルト NULL ) エンジン=InnoDB デフォルト文字セット=utf8mb4 大文字と小文字の区別を設定する方法は次のとおりです
作成する データベース <db_name> を作成し、デフォルトの文字セットを utf8mb4 にして、utf8mb4_bin を照合します。 改訂 alter database <db_name> default character set utf8mb4 collate utf8mb4_bin;
作成する テーブル <tb_name> を作成 ( ...... ) エンジン=innodb デフォルトの文字セット=utf8mb4 照合=utf8mb4_bin; 改訂 テーブル <tb_name> を変更します。engine=innodb default charset=utf8mb4 collate=utf8mb4_bin;
作成する テーブル <tb_name> を作成 ( `field1` varchar(10) 文字セット utf8mb4 照合 utf8mb4_bin、 ...... ) 改訂 テーブル <tb_name> を変更し、列 `field1` varchar(10) 文字セット utf8mb4 を照合し、utf8mb4_bin をデフォルト null にします。 継承関係は列-->テーブル-->ライブラリであり、優先順位は列>テーブル>ライブラリである。 上記はMySQLの文字タイプの大文字と小文字の区別の詳細です。MySQLの文字タイプの大文字と小文字の区別の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
この記事の例では、Vueモバイル端末で指のスライド効果を実現するための具体的なコードを紹介します。具...
問題<br />レスポンシブ レイアウトでは、iframe 要素に注意する必要があります...
Linuxで環境変数を削除するには?unsetコマンドを使用してすぐに削除します1. Linuxクラ...
HTML はタグと属性で構成されており、これらを組み合わせてブラウザにページの表示方法を指示します。...
この記事では、マウスを動かしたときにセカンダリ メニュー バーを実装するために HTML+CSS を...
1. VMware vSphere の概要VMware vSphere は、業界をリードする最も信...
多くの場合、大規模および中規模の Web サイトでは、静的リソース (フォント ファイル、画像など)...
序文echarts は私が最もよく使用するチャート作成ツールであり、非常に完全なエコシステムとコンテ...
Docker バージョン 1.13.1問題プロセス特定の環境のMySQLコンテナを停止、強制終了、ま...
目次HTML構造の定義入力タグのバインディング属性入力タグはキーダウンイベントをリッスンしますli ...
MySql のウィンドウ関数を使用して統計データを収集する際に、小さな問題が見つかったので、それにつ...
背景すべての業務を Docker の運用管理に移行してから、一連の落とし穴に遭遇しましたが、今回は ...
目次Dockerカスタムネットワーク1. カスタムネットワークの紹介2. カスタムネットワークを作成...
目次まず、値の一部と一致させるために使用される特殊文字であるワイルドカードについて簡単に紹介します。...
序文最近、テスト環境で MySQL データベースが自動的に再起動し続ける問題が発生しました。原因は、...