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

MySQL UNIQUE制約とは何ですか?それをテーブルのフィールドにどのように適用できますか?


名前が示すように、MySQL UNIQUE制約はテーブル内の列の一意性を維持し、重複する値を挿入することを許可しません。基本的に、UNIQUE制約は、インデックス列のすべての値が一意である必要があるようにインデックスを作成します。ここで、MySQLテーブルに複数のUNIQUE列を含めることができることに言及するのが適切です。

列の定義時に「UNIQUE」キーワードを指定することで、UNIQUE制約を適用できます。次の例の助けを借りて理解することができます-

mysql> Create table test3(ID INT UNIQUE, Name Varchar(20));
Query OK, 0 rows affected (0.16 sec)

上記のクエリは、「UNIQUE」制約のある列「ID」を持つ「test3」という名前のテーブルを作成します。次のようにDESCRIBEステートメントで確認できます-

mysql> DESCRIBE test3;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

UNIQUE制約は、次のクエリを使用してテーブルの列に適用することもできます-

mysql> Create table test4(ID INT, Name Varchar(20),UNIQUE(ID));
Query OK, 0 rows affected (0.15 sec)

次のようにDESCRIBEステートメントで確認できます-

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

  1. MySQLテーブルの構造を取得できるので、MySQLビューの構造を取得するにはどうすればよいですか?

    ビューは仮想テーブルの一種であり、テーブルの構成でもあることがわかっているため、同じクエリを使用して、構造を取得するために使用するビューの構造を取得できます。テーブルの。つまり、DESCRIBEステートメントを使用してMySQLビューの構造を取得できます。その構文は次のようになります- 構文 DESCRIBE view_name; ここで、view_nameは、構造を取得するビューの名前です。 例 「Info」という名前のビューの構造を取得したい場合は、次のクエリの助けを借りて行うことができます- mysql> DESCRIBE INFO; +---------+------------

  2. MySQLにブールフィールドを追加するにはどうすればよいですか?

    tinyint(1)またはboolまたはbooleanを使用できます。すべて同義語です。 boolまたはbooleanデータ型を使用する場合、それは内部的にtinyint(1)に変更されます。 PHPでは、値0はfalseを表し、1はtrueを表します。 0以外の数値も当てはまります。 テーブルを使用して、boolまたはbooleanの内部表現を確認してみましょう。テーブルを作成するためのクエリは次のとおりです。 mysql> create table AddBoolDemo -> ( -> isToggle bool -> ); Query OK, 0 rows