mysql에서 제한은 테이블의 데이터에 대한 제한을 의미하며 데이터베이스 관리자가 데이터베이스를 더 잘 관리하고 데이터베이스에 있는 데이터의 정확성, 유효성 및 무결성을 보장하는 데 도움이 될 수 있습니다. MySQL은 기본 키 제약 조건, 외래 키 제약 조건, 고유 제약 조건, 검사 제약 조건, null이 아닌 제약 조건, 기본값 제약 조건 등 6가지 유형의 제약 조건을 지원합니다.
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
mysql에서 제한은 제한을 의미합니다.
restrict(제약)은 테이블의 데이터에 대한 제한을 의미하며, 이는 데이터베이스 관리자가 데이터베이스를 더 잘 관리하고 데이터베이스에 있는 데이터의 정확성, 유효성 및 무결성을 보장하는 데 도움이 될 수 있습니다.
예를 들어 데이터 테이블에 나이 값을 저장할 때 200, 300 등 유효하지 않은 값을 저장하는 것은 의미가 없습니다. 따라서 테이블의 데이터 범위를 제한하려면 제약 조건을 사용해야 합니다.
MySQL의 제약 조건은 데이터의 정확성과 합리성을 감지하는 데 사용됩니다. 일반적인 오류는 다음과 같습니다. 1. 동일한 중복 데이터가 존재합니다. 3. 데이터 손실 오류(빈 데이터); (테이블을 정확하게 연결할 수 없음) 등
ID 번호가 중복될 수 없고 배송 주소가 비어 있을 수 없는 등 위의 문제를 해결하기 위해 MySQL의 제약 조건이 사용됩니다. 제약 조건을 위반하면 데이터 조작 동작이 억제됩니다.
MySQL에서는 주로 다음과 같은 6가지 제약 조건을 지원합니다.
1) 기본 키 제약 조건
기본 키 제약 조건은 가장 자주 사용되는 제약 조건입니다. 데이터 테이블을 디자인할 때 일반적으로 테이블에 기본 키를 설정해야 합니다.
기본 키는 테이블의 각 정보를 고유하게 식별하는 테이블의 특수 필드입니다. 예를 들어, 학생 정보 테이블의 학생 번호는 고유합니다.
2) 외래 키 제약 조건
외래 키 제약 조건은 데이터 일관성을 보장하기 위해 기본 키 제약 조건과 함께 사용되는 경우가 많습니다.
예를 들어 과일 가판대에는 사과, 복숭아, 자두, 수박 4가지 과일만 있는데, 과일을 사러 과일 가판대에 오면 사과, 복숭아, 자두, 수박만 고를 수 있고, 그리고 다른 과일은 살 수 없습니다.
3) Unique 제약 조건
Unique 제약 조건은 기본 키 제약 조건과 유사합니다. 즉, 둘 다 열의 고유성을 보장할 수 있습니다. 기본 키 제약 조건과 달리 테이블에는 여러 개의 고유 제약 조건이 있을 수 있으며, 고유 제약 조건이 설정된 열에는 Null 값이 하나만 있을 수 있지만 Null 값을 가질 수 있습니다.
예를 들어 사용자 정보 테이블에서 테이블에 사용자 이름이 중복되는 것을 방지하려면 사용자 이름 열을 고유 제약 조건으로 설정할 수 있습니다.
4) 검사 제약 조건
검사 제약 조건은 데이터 테이블의 필드 값이 유효한지 확인하는 수단입니다.
예를 들어 학생 정보 테이블의 연령 필드에는 음수가 없으며 값도 제한됩니다. 대학생이라면 나이는 일반적으로 18세에서 30세 사이여야 합니다. 필드의 검사 제약 조건을 설정할 때 실제 상황에 따라 설정하면 유효하지 않은 데이터 입력을 줄일 수 있습니다.
5) Null이 아닌 제약 조건
Non-null 제약 조건은 테이블의 필드를 비워둘 수 없도록 제한하는 데 사용됩니다. 예를 들어, 학생 정보 테이블에 학생 이름이 추가되지 않으면 이 기록은 쓸모가 없습니다.
6) 기본값 제약 조건
기본 값 제약 조건은 데이터 테이블의 필드에 값을 입력하지 않으면 이미 설정된 값이 자동으로 추가되도록 제약하는 데 사용됩니다.
예를 들어 학생 정보 등록 시 학생의 성별을 입력하지 않으면 기본적으로 성별이 설정되거나 '알 수 없음'이 입력됩니다.
기본값 제약 조건은 일반적으로 null이 아닌 제약 조건이 설정된 열에 사용되며, 이를 통해 데이터 테이블에 데이터를 입력할 때 오류를 방지할 수 있습니다.
위 6가지 제약 조건 중 데이터 테이블에는 기본 키 제약 조건이 하나만 있을 수 있고, 다른 제약 조건은 여러 개가 있을 수 있습니다.
1. 테이블에 기본 키 제약 조건 추가
기본 키를 추가하는 방법에는 두 가지가 있습니다. ㅋㅋㅋ 단일 기본 키: 하나의 열을 기본 키 열로 사용하는 경우에는 고유 제약 조건을 위반합니다.
DDL 문을 사용하여 기본 키 제약 조건을 추가하세요. 예:
ALTER TABLE 表名 ADD PRIMARY KEY(列名); alter table emp add primary key(employee_id);//选取employee_id作为主键 alter table emp add primary key(employee_id,shenfen_id);//联合主键
2. 테이블에 자동 증가 기본 키 제약 조건
auto_increment을 추가합니다. 기본키는 데이터베이스 관리 시스템이 자동으로 테이블을 유지 관리할 때 자동으로 추가되며, 자동으로 증가하는 자연수를 이용하여 기본키를 결정한다. 마찬가지로 자체 증가 기본 키도 특정 열을 기본 키로 사용합니다. 테이블에 기본 키가 추가된 필드에 데이터가 추가되면 기본 키가 자동으로 1씩 증가합니다.一般 자기 성장 기본 키와 일반 기본 키는 서로 변환될 수 있습니다.
1,
테이블에서 하나의 열만자동으로 커질 수 있습니다 . 2. 자동으로 성장하는 컬럼의 유형은 정수 유형이어야 합니다. 3. 자동 증가는 기본 키 제약 조건 및 고유 제약 조건이 있는 열에만 추가할 수 있습니다. 4. 기본 키 제약 조건 또는 고유 제약 조건을 삭제합니다. 열에 자동 증가 기능이 있으면 먼저 자동 증가를 제거한 다음 제약 조건을 삭제해야 합니다.
참고: 이전에 필드에 자동 증가 속성을 추가한 경우 이 필드를 삭제할 때 먼저 자동 증가 속성을 삭제해야 합니다.alter table 表名 modify 主键 类型 auto_increment; alter table emp modify employee_id int auto_increment;n 또는 Navicat에 기본 키를 추가합니다:
3, 기본 키를 삭제하려면 테이블
DDL 문에서 기본 키 제약 조건을 삭제하세요.
ALTER TABLE 表名 DROP PRIMARY KEY; alter table emp drop primary key;참고: 기본 키를 삭제할 때 기본 키 열에 자동 증가 기능이 있는 경우 먼저 자동 증가를 제거한 다음 기본 키를 삭제해야 합니다.
alter table emp modify employee_id int;//去掉自增长,与添加自增长代码地区别就是没有auto_increament alter table emp drop primary key;4. 테이블에 외래 키 제약 조건 추가
외래 키 제약 조건을 추가하려면
DDL 문을 사용하세요. 하나의 테이블에 여러 개의 외래 키를 설정할 수 있습니다.
ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY(列名) REFERENCES 参照的表名(参照的列名); alter table emp add constraint emp_fk foreign key(dept_id) references departments(department_id);또는 Navicat에 외래 키를 추가하세요. 외래 키 이름이 자주 사용됩니다. 테이블 이름은 _fk, 테이블 이름은 _fk1이 나타냅니다. 5. 테이블의 외래 키 제약 조건 삭제
DDL
ALTER TABLE 表名 DROP FOREIGN KEY 约束名; alter table emp drop foreign key emp_fk;
6、给表中某字段添加唯一性约束
使用DDL语句添加唯一性约束。或在在Navicat中添加唯一性约束。
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名); alter table emp add constraint emp_uk unique(name);
7、删除表中某字段的唯一性约束
使用DDL语句删除唯一性约束。删除之前需要弄清楚删除的约束名是对哪一个字段进行约束的。
ALTER TABLE 表名 DROP KEY 约束名; alter table emp drop key emp_uk;
8、给表中某个字段添加非空约束
使用DDL语句添加非空约束。或者Navicat。
ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL; alter table emp modify salary float(8,2) not NULL;
9、删除表中某个字段的非空约束
使用DDL语句删除非空约束。
ALTER TABLE 表名 MODIFY 列名 类型 NULL; alter table emp modify salary float(8,2) NULL;
上面介绍了当一张表已经存在之后如何添加约束。下面介绍在一开始新建表的时候如何添加约束。
1、查询表中加了哪些约束?
SHOW KEYS FROM 表名;
2、创建表时添加约束
创建 depts 表包含 department_id 该列为主键且自动增长,department_name 列不允许重复,location_id 列不允含有空值。
create table depts ( department_id int primary key auto_increment, department_name varchar(30) unique, location_id int not null; );
【相关推荐:mysql视频教程】
위 내용은 mysql에서 제한이란 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!