MySQL データベースの大文字と小文字の区別の問題

MySQL データベースの大文字と小文字の区別の問題

MySQL では、データベースはデータ ディレクトリ内のディレクトリに対応します。データベース内の各テーブルは、データベース ディレクトリ内の少なくとも 1 つのファイル (ストレージ エンジンによっては複数のファイル) に対応します。したがって、使用しているオペレーティング システムの大文字と小文字の区別によって、データベース名とテーブル名の大文字と小文字の区別が決まります。つまり、ほとんどの Unix システムではデータベース名とテーブル名は大文字と小文字が区別されますが、Windows では区別されません。 注目すべき例外は Mac OS X です。これは Unix をベースにしていますが、大文字と小文字を区別しないデフォルトのファイル システム タイプ (HFS+) を使用します。

Windows ではテーブル名の大文字と小文字は区別されないため、データをインポートした後、すべてのテーブル名が小文字になる可能性があります。Windows から Linux にインポートした後、呼び出し時に大文字と小文字の問題が発生する可能性があります。例えば:

最初のポイント: プログラム呼び出しテーブルの名前は codetc_Web です。

2 番目のポイント: win をインポートすると、codetc_web になります。

3 番目のポイント: Linux にインポートした後も、codetc_web のままです。このとき、Linux はテーブル名の大文字と小文字を区別するため、テーブルが読み取れなくなります。

Linux での MySQL テーブル名の大文字小文字の問題の解決策:

通常 /etc/my.cnf にある my.cnf を変更し、ファイル内の [mysqld] セクションを見つけて、次のステートメントを追加します (ステートメントが既に存在する場合は、値を 1 に変更することに注意してください)。

lower_case_table_names=1

1. Linux に MySQL をインストールした後のデフォルトは、テーブル名では大文字と小文字が区別されますが、列名では大文字と小文字は区別されません。

2. root アカウントでログインした後、/etc/my.cnf の [mysqld] の後にlower_case_table_names=1を追加し、MYSQL サービスを再起動します。これで設定は成功です。テーブル名は大文字と小文字が区別されません。

lower_case_table_names パラメータの詳細な説明:

lower_case_table_names = 0或1

0: 大文字と小文字を区別する、1: 大文字と小文字を区別しない

Linux での MySQL データベース名、テーブル名、列名、およびエイリアスの大文字と小文字の規則は次のとおりです。

1. データベース名とテーブル名では大文字と小文字が厳密に区別されます。

2. テーブル別名では大文字と小文字が厳密に区別されます。

3. 列名と列エイリアスでは、大文字と小文字は区別されません。

4. 変数名も厳密に大文字と小文字が区別されます。

MySQL は Windows では大文字と小文字を区別しません。クエリ時にフィールド値の大文字と小文字を区別する必要がある場合は、クエリフィールド値に BINARY 属性を設定する必要があります。設定方法はいくつかあります。

(1)作成時の設定:

テーブルT(A VARCHAR(10) BINARY)を作成します。

(2)alterを使って修飾する:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

(3)MySQLテーブルエディタでBINARY項目を直接確認します。

MySQL クエリで大文字と小文字を区別するには、次の操作を行います。

table_name から * を選択し、バイナリ a が 'a%' のような場合  
table_name から * を選択し、バイナリ a が 'A%' に一致するかどうかを確認します。

テーブルを作成するときにマークすることもできます

テーブルtable_nameを作成します( 
   varchar (20) バイナリ
)

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MySQL の大文字と小文字の区別に関する注意
  • MySQLの文字タイプは大文字と小文字を区別します
  • MySQL で大文字と小文字を区別しないように設定する方法
  • MySQLの大文字と小文字の区別によって発生する問題の分析
  • MySQLクエリで大文字と小文字を区別しない問題を解決する方法
  • MySQLテーブル名の大文字と小文字を区別しない設定方法の詳細な説明
  • Linux システム MySQL のパスワードを忘れた場合、パスワードをリセットし、テーブル名と列名の大文字と小文字を無視します
  • MySQL クエリ時に文字列の大文字と小文字を区別する方法
  • MySql クエリの大文字と小文字を区別しないソリューション (2)
  • MySQL テーブル名の大文字と小文字の選択

<<:  Windows 10 に TomCat をインストールするチュートリアル図

>>:  Windows 10 での Tomcat のインストールと展開に関する詳細なチュートリアル

推薦する

ログインインターフェースの使いやすさとセキュリティのバランスをとる方法

ウェブデザイナーでもUIデザイナーでも、ログインページや登録ページのデザインは必ず経験しなければなら...

zabbix 4.04 の詳細なインストール チュートリアル (CentOS 7.6 ベース)

1. インストール前の準備: 1.1 JDKをインストールするopenjdkをアンインストールする...

nginx ロケーション優先度の詳細な説明

場所表現タイプ~ は大文字と小文字を区別して通常の一致を実行することを示します~*は大文字と小文字を...

MySQLへのJava接続の基礎となるカプセル化の詳細な説明

この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...

例を通してMySQLの更新がテーブルをロックするかどうかを判定する

2つのケース: 1. 索引あり 2. 索引なし前提条件:方法: コマンドラインを使用してシミュレート...

WindowsでcmdからDOSウィンドウに入り、MySQLデータベースにアクセスします。

1. win + R を押して cmd と入力し、DOS ウィンドウに入ります。 2. MySQL...

js 加算、減算、乗算、除算の正確な計算方法のサンプルコード

序文コンピュータの数値は浮動小数点であるため、計算プロセス中に取得されるデータは通常正確ではなく、そ...

MySQLデータベースのタイムアウト設定を構成する方法の例

目次序文1. JDBCタイムアウト設定2. 接続プールのタイムアウト設定3. MyBatisクエリの...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践の概要

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

Vueデータ監視の原理の詳細な説明

目次1. はじめにII. 監視対象2.1 なぜオブジェクトを監視する必要があるのですか? 2.2 デ...

Dockerコンテナレイヤーの概念の詳細な説明

目次01 コンテナの一貫性02 レイヤーの概念03 レイヤードデザインの利点今日はコンテナ レイヤー...

MySQL 5.7.21 解凍版のインストールと設定方法のグラフィックチュートリアル

私は頻繁にシステムをインストールするので、インストールのたびにいくつかのソフトウェアを再インストール...

一般的な HTTP ステータス コード 10 個の詳細な説明

HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...

WeChat アプレット学習 WXS 使用方法チュートリアル

wxsとは何ですか? wxs (WeiXin Script) は、小規模プログラム用のスクリプト言語...

MySQL関数の包括的な概要

目次1. MySQLでよく使われる文字列関数2. 数値関数3. 日付と時刻の機能4. プロセス機能5...