>  기사  >  데이터 베이스  >  MySQL 데이터베이스 제약 조건 유형은 무엇입니까?

MySQL 데이터베이스 제약 조건 유형은 무엇입니까?

WBOY
WBOY앞으로
2023-05-28 23:02:00993검색

데이터베이스의 제약 조건은 이름에서 알 수 있듯이 데이터베이스에 삽입되는 데이터를 제한하는 목적은 데이터의 유효성과 무결성을 보장하는 것입니다. 이는 데이터베이스의 데이터 품질을 크게 향상시키고 데이터 호출을 위한 데이터베이스 공간과 시간을 절약합니다.

MySQL 데이터베이스 제약 조건 유형은 무엇입니까?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제