ホームページ >データベース >mysql チュートリアル >mysqlのユニークな点は何ですか
#このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。mysql では、unique は「一意の制約」を指します。これは、すべてのレコードのフィールドの値が繰り返し出現できないことを意味します。テーブルには複数の一意制約を設定でき、一意制約が設定されている列には NULL 値を含めることができますが、NULL 値は 1 つだけです。テーブルを変更するときに一意制約を追加するための構文は、「ALTER TABLE 7be4c78c990ef2d0c84e7f174f3510bd ADD CONSTRAINT a7fdaa722b6b176c082cf133f9f636d0 UNIQUE(dbbf19904bed3b90013ba2fcce963ac6);」です。
mysql では、unique は「一意の制約」を指します。
MySQL の一意制約 (UNIQUE KEY)
MySQL の一意制約 (UNIQUE KEY) とは、フィールドの値を意味します。すべてのレコードで繰り返し実行することはできません。たとえば、一意の制約を id フィールドに追加すると、各レコードの id 値は一意になり、繰り返すことはできなくなります。いずれかのレコードの ID 値が「0001」の場合、テーブル内に ID 値「0001」を持つ別のレコードは存在できません。 一意制約は、列の一意性を保証できるという点で主キー制約に似ています。違いは、テーブル内に複数の一意制約を設定できることと、一意制約が設定されている列には NULL 値を持つことが許可されますが、NULL 値は 1 つだけであることです。テーブル内に存在できる主キー制約は 1 つだけであり、NULL 値は許可されません。たとえば、ユーザー情報テーブルでは、テーブル内でユーザー名の重複を避けるために、ユーザー名を一意性制約として設定できます。テーブルの作成時に一意制約を設定する
一意制約は、テーブルの作成時に、通常は主キーを除く他の列に直接設定できます。 列を定義した直後に UNIQUE キーワードを使用して、一意制約を指定します。構文形式は次のとおりです:<字段名> <数据类型> UNIQUE例 1: データ テーブル tb_dept2 を作成し、次のように指定します部門の一意の名前、SQL 文および実行結果は次のとおりです。
mysql> CREATE TABLE tb_dept2 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> location VARCHAR(50) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_dept2; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(40) | YES | UNI | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.08 sec)
テーブル変更時に一意制約を追加します
テーブル変更時に一意制約を追加する構文形式は次のとおりです:ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);例 2 :データテーブル tb_dept1 を変更し、一意の部門名を指定します SQL 文と実行結果は次のとおりです。
mysql> ALTER TABLE tb_dept1 -> ADD CONSTRAINT unique_name UNIQUE(name); Query OK, 0 rows affected (0.63 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_dept1; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(22) | NO | UNI | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
一意制約の削除
MySQL で一意制約を削除するための構文形式は次のとおりです。ALTER TABLE <表名> DROP INDEX <唯一约束名>;例 3:
Delete データテーブル tb_dept1 の一意制約 unique_name、SQL 文および実行結果は次のとおりです。
mysql> ALTER TABLE tb_dept1 -> DROP INDEX unique_name; Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_dept1; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(22) | NO | | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)[関連する推奨事項:
mysql ビデオ チュートリアル ]
以上がmysqlのユニークな点は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。