MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

文字列データ型にCHARACTERSETバイナリ属性を指定すると、MySQLはどのように反応しますか?


文字列データ型にCHARACTERSETバイナリ属性を指定すると、MySQLはその列を後続のバイナリ文字列型として作成します。 CHAR、VARCHAR、およびBLOBデータ型の変換は次のように行われます-

  • CHARはBINARYになります
  • VARCHARはVARBINARYになります
  • TEXTはBLOBになります

上記の種類の変換は、ENUMおよびSETデータ型では発生せず、両方ともテーブルの作成中に宣言されたとおりに作成されます。

以下の例では、次のようにすべてCHARACTERSETバイナリとして指定された4つの列を持つ「EMP」という名前のテーブルを作成しました-

mysql> Create table Emp(Name varchar(10) CHARACTER SET binary, Address CHAR(10)CHARACTER SET binary, Designation TEXT CHARACTER SET binary, Field ENUM('ENG','SS') CHARACTER SET binary);
Query OK, 0 rows affected (0.16 sec)

しかし、以下のクエリを使用してテーブルのステータスを確認すると、MySQLが後続のバイナリ文字列に従ってデータ型を変更したことがわかります。

mysql> Show Create Table EMP\G
*************************** 1. row ***************************
      Table: EMP
Create Table: CREATE TABLE `emp` (
   `Name` varbinary(10) DEFAULT NULL,
   `Address` binary(10) DEFAULT NULL,
   `Designation` blob,
   `Field` enum('ENG','SS') CHARACTER SET binary DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

  1. MySQLで数値文字列の比較演算子を使用するにはどうすればよいですか?

    数値文字列に比較演算子を使用するには、substring()メソッドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1881    (    UserId int,    UserEducationGap varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1881

  2. MySQLプログラムのオプションを指定するにはどうすればよいですか?

    MySQLプログラムでオプションを指定する方法を理解しましょう。 MySQLプログラムにオプションを指定する方法はたくさんあります- コマンドライン プログラム名を入力した後のコマンドラインのオプションをリストする必要があります。これは、プログラムの特定の呼び出しに適用されるオプションの一般的な手順です。 オプションファイル プログラムが起動時に読み取るオプションファイルのオプションもリストする必要があります。これは、ユーザーがプログラムを実行するたびに使用する必要があるオプションの一般的な手順です。 環境変数 環境変数のオプションをリストする必要があります。この方法は、プログラムを実行