MySQL における大文字の使用に関する問題
MySQL における大文字の使用に関する問題は、データベースの設計にまで遡ることができます。 MySQL では、テーブル名、列名、変数名などの識別子の大文字と小文字が区別されます。これにより、場合によっては多くの問題が発生する可能性があります。
たとえば、テーブルを作成するとき、テーブル名 Student を指定します。後で SELECT ステートメントを使用してテーブルをクエリする場合、Student または STUDENT、およびその他の同様のケース形式は使用できません。そうでない場合は、MySQL データベースが使用されます。エラーメッセージが返されます。
MySQL でケース クエリを実行する方法
BINARY キーワードを使用する
クエリ実行時に進行中、MySQL で大文字と小文字を区別しないようにするには、BINARY キーワードを使用します。たとえば、次のステートメントを使用して、student テーブルをクエリできます。
SELECT * FROM student WHERE BINARY name = 'Tom';
このように、MySQL は、名前の大文字と小文字に関係なく、正しい結果を返します。このアプローチで問題は解決できますが、比較的大きなデータ セットで BINARY キーワードを使用するとクエリのパフォーマンスに影響を与える可能性があるため、問題の解決策は洗練されたものではありません。
LOWER 関数を使用する
ケースの問題を解決するには、MySQL で LOWER 関数を使用してクエリを実行できます。 LOWER 関数は、文字列を小文字に変換します。たとえば、次のステートメントを使用して、student テーブルをクエリできます。
SELECT * FROM student WHERE LOWER(name) = 'tom';
このように、MySQL は、name フィールド内のすべての文字列を小文字に変換し、「tom」と比較します。このアプローチを使用すると、BINARY キーワードの使用によるクエリ パフォーマンスへの影響を回避できます。
以上がMySQL で大文字と小文字をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。