HOWTO · MySQL
MySQL 테이블에서 제약 조건 삭제
이 기사에서는 MySQL 테이블에서 제약 조건을 삭제하는 방법을 소개합니다.
이 페이지의 내용
제약 조건은 MySQL 열에 데이터 입력을 금지하는 일련의 규칙 또는 제한 사항입니다. MySQL의 테이블에는 사용자가 제한을 원하는 다양한 속성이나 열이 있습니다.
적용된 장벽은 MySQL 열 집합에서 모든 유형의 데이터 값 허용을 비활성화하여 열 전체에 일관성을 제공합니다. 적용된 제약 조건 집합의 정의에서 허용되는 값만 활성화합니다.
MySQL에서 제약 조건이 있는 테이블 생성
MySQL에서 사용자는 테이블 스키마와 함께 열에 제약 조건을 적용할 수 있습니다. 이러한 제약 조건은 아래에 주어진 두 가지 유형이 있습니다.
- 컬럼 레벨 제약
- 테이블 레벨 제약
제약 조건이 있는 테이블을 만드는 구문:
Create table tablemname
attributeName1 attributeType constraint,
attributeName2 attributeType constraint,
...
attributeNameN attributeType constraint,
TableLevelConstraint(AttributeName)
위 코드의 구문은 각각에 대해 테이블 수준 및 열 수준 제약 조건을 만드는 방법을 보여줍니다. 둘 다 뒤에 있는 아이디어는 사용자에게 필요에 따라 제약 조건을 추가할 수 있는 권한을 부여하는 것입니다.
컬럼 레벨 제약 조건: 속성 이름을 정의하는 동안non-null및unique와 같은 제약 조건 유형이 정의됩니다. 이는 제약 조건 이름이 속성에 대한 데이터가 제공된 뒤에 있음을 의미합니다.테이블 수준 제약 조건: 제약 조건의 유형은 테이블 정의의 끝에서 정의됩니다. 이러한 제약 조건은PrimaryKeyForeignKey및Index제약 조건과 같습니다.
테이블에 대한 실제 쿼리 전 쿼리 목록:
create table studentPK ( id varchar(255) not null, firstName varchar(255), lastname varchar(255), age integer, primary key (id));
위의 명령은 id, firstName, lastName 및 age와 같은 속성이 있는 studentPK 테이블을 만듭니다. 기본 키 제약 조건은 테이블의 기본 키 또는 고유 식별자를 생성하기 위해 MySQL에 정의된 키워드입니다.
구문은 속성을 기본 키로 만들기 위해 인수의 매개변수를 사용합니다.
Describe studentPK;
또 다른 쿼리는 생성되는 테이블을 설명하는 것입니다. 아래 표시된 이미지는 studentPK 테이블의 필드에 입력되는 제약 조건을 보여줍니다.
MySQL 테이블에서 제약 조건 삭제
MySQL에서 DROP 제약 조건을 실행하는 쿼리:
Alter table studentPK drop primary key;
위의 구문은 Alter 키워드를 사용하여 studentPk의 구문을 변경합니다. 제약 조건은 테이블 수준이므로 테이블 수준에서 잘 삭제됩니다.
Alter 명령은 테이블의 스키마를 변경할 때 가장 적합합니다. 동일한 테이블에서 기본 키를 삭제하여 StudentPk 테이블의 스키마를 변경합니다.
아래는 동일한 로컬 실행 이미지입니다.
마찬가지로 다른 테이블에서 동일한 키가 사용되면 다른 테이블의 외래 키를 삭제하여 삭제됩니다.
외래 키 제약 조건을 만드는 쿼리:
create table studentDept ( deptid varchar(255) not null, deptName varchar(255), id varchar(255), foreign key(id) references studentPK (id));
위 쿼리는 다른 관계 studentDept 테이블에 id라는 외래 키를 생성합니다. 외래 키는 foreign key 키워드를 사용하여 구성됩니다.
키워드와 함께 두 테이블을 종속적으로 만들기 위해 상위 테이블을 연결하려면 references 키워드가 필요합니다. references 키워드는 studentPk 테이블의 id 필드를 studentDept 테이블의 외래 키로 바인딩합니다.
출력은 아래 표시된 이미지에서 확인할 수 있습니다.
외부 키가 내부적으로 생성되면 키에 대한 새 키 이름이 생성됩니다. 테이블을 설명하고 이름을 보는 문은 다음과 같습니다.
SHOW CREATE TABLE studentDept;
아래는 MySQL에서 테이블 구조를 보기 위한 콘솔 출력 사진입니다.
위 이미지는 외래 키가 studentdept_ibfk_1이라는 이름으로 생성되었음을 나타냅니다. 이제 생성된 이름으로 외래 키를 쉽게 삭제할 수 있습니다.
Alter table studentDept drop foreign key studentdept_ibfk_1;
위의 쿼리는 studentDept 테이블에서 외래 키를 삭제합니다. Alter 명령은 스키마 수준에서 변경이 발생함을 나타냅니다.
외래 키는 studentDept 테이블에서 삭제됩니다. describe 명령을 사용하여 다시 확인할 수 있습니다.
외래 키를 삭제하기 전에 기억해야 할 사항:
-
외래 키의 이름이 미리 필요합니다. 테이블에서 제약 조건을 삭제하려면 키가 필요합니다.
-
키 이름을 모르는 상태에서
drop명령을 실행하면 아래와 같은 오류가 발생합니다.
-
SHOW CREATE TABLE명령은 필수입니다.