데이터베이스의 제약 조건은 이름에서 알 수 있듯이 데이터베이스에 삽입되는 데이터를 제한하는 목적은 데이터의 유효성과 무결성을 보장하는 것입니다. 이는 데이터베이스의 데이터 품질을 크게 향상시키고 데이터 호출을 위한 데이터베이스 공간과 시간을 절약합니다.
NOT NULL 제약 조건은 열이 null이 될 수 없음을 지정하는 열 수준 제약 조건입니다. 열 수준 제약 조건 구문을 통해서만 정의할 수 있습니다.
SQL의 null 값은 대소문자를 구분하지 않으며 다음과 같은 특징을 갖습니다. int, float, boolean 등을 포함한 모든 데이터 유형의 값은 null이 될 수 있습니다. 빈 문자열은 null과 같지 않으며 0은 null과 같지 않습니다. 지정된 열에 대해 null이 아닌 제약 조건을 설정하려면 열 정의 뒤에 "not null"을 추가하면 됩니다. 예를 들어 테이블을 생성할 때:
create table t_test ( id int not null, name varchar(255) default 'xyz' not null, gender varchar(2) null );
alter table을 사용하여 테이블을 수정하는 경우 null이 아닌 제약 조건을 추가하거나 삭제합니다. 예:
#增加非空约束alter table t_test modify gender varchar(2) not null;#取消非空约束alter table t_test modify gender varchar(2) null;#取消非空约束,并指定默认值alter table t_test modify name varchar(255) default 'abc' null;
2.UNIQUE: 특정 열 또는 다음의 조합을 지정하는 고유 제약 조건 열은 반복될 수 없습니다.
데이터베이스에서는 고유 제약 조건 열이 중복 값을 허용하지 않지만 null은 null과 같지 않기 때문에 여러 개의 null 값이 나타날 수 있습니다. 동일한 테이블에 여러 개의 고유 제약 조건을 생성할 수 있으며, 고유 제약 조건은 여러 열로 구성될 수도 있습니다. 열에 대해 고유 제약 조건이 생성되면 MySQL은 해당 열에 대한 고유 인덱스를 생성합니다. 고유 제약 조건에 이름이 지정되지 않으면 고유 제약 조건의 기본값은 열 이름입니다. 열 수준 구문이나 테이블 수준 구문을 사용하여 고유 제약 조건을 설정할 수 있습니다. 테이블 수준 구문을 통해서만 결합 제약 조건을 설정하거나 여러 열에 대한 제약 조건 이름을 지정할 수 있습니다.
열 수준 구문을 사용하여 고유 제약 조건을 생성하려면 열 정의 뒤에 고유 키워드를 추가하세요.
#创建表时建立唯一约束,使用列级语法建立create table unique_test ( #建立非空约束,意味着id不能为null id int not null, #建立唯一约束,意味着多行数据的该列值不能相等 name varchar(255) unique );
고유 제약 조건을 생성하려면 테이블 수준 구문 형식: [제약 조건 이름] 고유(열 이름[, 열 이름, &hellip ;]), 위의 테이블 수준 제약 조건 구문 형식은 열 정의와 병렬로 create table 문에 배치되거나 add 키워드를 사용하여 alter table 문에 추가될 수 있습니다.
#创建表时,使用表级语法创建唯一约束create table uniques_test2 ( #为id建立非空约束,意味着id不能为null id int not null, name varchar(255), pass varchar(255), #使用表级语法为name建立唯一约束 unique (name), #使用表级语法为pass建立唯一约束,并指定约束名为test2_uk constraint test2_uk unique (pass) );#创建表时,使用表级语法建立组合列的唯一约束create table unique_test3 ( id int not null, name varchar(255), pass varchar(255), #指定name和pass两列组合不能重复 constraint test3_uk unique (name, pass) );#在修改表时,使用add关键字来增加唯一约束alter table unique_test3 add unique (id, name);#在修改表时,使用modify关键字,来为单列设置唯一约束alter table unique_test3 modify name varchar(100) unique;
고유 제약 조건 삭제 MySQL의 경우:
alter table tableName drop index 约束名; 例句:#删除unique_test3表中的test3_uk唯一约束alter table unique_test3 drop index test3_uk;
3.PRIMARY KEY: 기본 키 제약 조건으로, 레코드를 고유하게 식별하기 위해 이 열의 값을 지정합니다.
"외부 키"는 행 레코드가 기본 테이블의 레코드와 연결되도록 지정하는 제약 조건입니다. 주요 목적은 참조 무결성을 보장하는 것입니다.
5.CHECK(MySQL에서는 지원되지 않음): 제약 조건을 확인하고 부울 표현식을 지정하며 해당 열의 값이 표현식을 충족해야 함을 지정하는 데 사용됩니다.
위 내용은 MySQL 데이터베이스 제약 조건 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!