ADD CONSTRAINT <고유 제약 조건 이름> UNIQUE(<열 이름>);"이다."/> ADD CONSTRAINT <고유 제약 조건 이름> UNIQUE(<열 이름>);"이다.">
집 >데이터 베이스 >MySQL 튜토리얼 >mysql은 무엇이 독특합니까?
mysql에서 고유는 "고유 제약 조건"을 의미하며, 이는 모든 레코드의 필드 값이 반복적으로 나타날 수 없음을 의미합니다. 테이블에는 여러 개의 고유 제약 조건이 있을 수 있으며, 고유 제약 조건이 설정된 열은 null 값을 가질 수 있지만, null 값은 하나만 있을 수 있습니다. 테이블 수정 시 고유 제약 조건을 추가하는 구문은 "ALTER TABLE ADD CONSTRAINT UNIQUE();"입니다.
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
mysql에서 고유는 "고유한 제약 조건"을 의미합니다.
MySQL 고유 제약 조건(UNIQUE KEY)
MySQL 고유 제약 조건(고유 키)은 모든 레코드의 필드 값이 반복적으로 나타날 수 없음을 의미합니다. 예를 들어 id 필드에 고유 제약 조건을 추가하면 각 레코드의 id 값은 고유하며 반복될 수 없습니다. 레코드 중 하나의 id 값이 '0001'이면 테이블에 id 값이 '0001'인 다른 레코드가 있을 수 없습니다.
Unique 제약 조건은 둘 다 열의 고유성을 보장한다는 점에서 기본 키 제약 조건과 유사합니다. 차이점은 테이블에 여러 개의 고유 제약 조건이 있을 수 있으며, 고유 제약 조건이 설정된 열은 Null 값을 가질 수 있지만 Null 값은 하나만 있을 수 있다는 것입니다. 테이블에는 기본 키 제약 조건이 하나만 있을 수 있으며 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:
데이터 테이블 tb_dept1에서 고유 제약 조건 Unique_name을 삭제합니다. 다음과 같다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!