デフォルトでは、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の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...
1. テーブル構造 2. 表データ 3. クエリのteacher_nameフィールドは空にすることは...
この記事では、Xshell と関連する構成の一般的な問題について説明します。この記事の構成は、主に ...
目次序文ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン継承するミ...
この記事では、Windows 10環境でのMySQL 5.5のインストールと使用方法を紹介します。リ...
Firefox は、多くの拡張機能とプラグインを備えた、よく使用されるブラウザです。IE に比べて多...
MySQL sql_modeの適切な設定sql_mode は見落とされやすい変数です。デフォルト値は...
以下に示すプラス記号の効果を実現するには: この効果を実現するには、div 要素だけが必要です。 b...
前提条件: ヘッダー情報操作をサポートするには、ngx_http_headers_module モジ...
目次1. データをバックアップするためのmysqldumpコマンド2. 一般的なmysqldump操...
目次序文基礎を築くプロトタイプコンストラクタのプロパティ__プロト__プロトタイプチェーン改善する要...
この記事では、MySQL 8.0.11 MSIバージョンのインストールと設定のチュートリアルを参考ま...
目次1. コンポーネント化とは何ですか? 2. 基本的な使い方序文:場合によっては、HTML 構造化...
自宅のルーターが300Mの帯域幅を80Mに強制的に減らしたため、3205Uソフトルーターを購入しまし...
CentOS6.9+Mysql5.7.18 ソースコードのインストールでは、以下の操作を root ...