MySQL 테이블에서 제약 조건 삭제

Rashmi Patidar 2024년2월15일
  1. MySQL에서 제약 조건이 있는 테이블 생성
  2. MySQL 테이블에서 제약 조건 삭제
MySQL 테이블에서 제약 조건 삭제

제약 조건은 MySQL 열에 데이터 입력을 금지하는 일련의 규칙 또는 제한 사항입니다. MySQL의 테이블에는 사용자가 제한을 원하는 다양한 속성이나 열이 있습니다.

적용된 장벽은 MySQL 열 집합에서 모든 유형의 데이터 값 허용을 비활성화하여 열 전체에 일관성을 제공합니다. 적용된 제약 조건 집합의 정의에서 허용되는 값만 활성화합니다.

MySQL에서 제약 조건이 있는 테이블 생성

MySQL에서 사용자는 테이블 스키마와 함께 열에 제약 조건을 적용할 수 있습니다. 이러한 제약 조건은 아래에 주어진 두 가지 유형이 있습니다.

  1. 컬럼 레벨 제약
  2. 테이블 레벨 제약

제약 조건이 있는 테이블을 만드는 구문:

Create table tablemname
 attributeName1 attributeType constraint,
 attributeName2 attributeType constraint,
 ...
 attributeNameN attributeType constraint,
 TableLevelConstraint(AttributeName)

위 코드의 구문은 각각에 대해 테이블 ​​수준 및 열 수준 제약 조건을 만드는 방법을 보여줍니다. 둘 다 뒤에 있는 아이디어는 사용자에게 필요에 따라 제약 조건을 추가할 수 있는 권한을 부여하는 것입니다.

  1. 컬럼 레벨 제약 조건: 속성 이름을 정의하는 동안 non-nullunique와 같은 제약 조건 유형이 정의됩니다. 이는 제약 조건 이름이 속성에 대한 데이터가 제공된 뒤에 있음을 의미합니다.
  2. 테이블 수준 제약 조건: 제약 조건의 유형은 테이블 정의의 끝에서 정의됩니다. 이러한 제약 조건은 PrimaryKey ForeignKeyIndex 제약 조건과 같습니다.

테이블에 대한 실제 쿼리 전 쿼리 목록:

create table studentPK ( id varchar(255) not null, firstName varchar(255), lastname varchar(255), age integer, primary key (id));

위의 명령은 id, firstName, lastNameage와 같은 속성이 있는 studentPK 테이블을 만듭니다. 기본 키 제약 조건은 테이블의 기본 키 또는 고유 식별자를 생성하기 위해 MySQL에 정의된 키워드입니다.

구문은 속성을 기본 키로 만들기 위해 인수의 매개변수를 사용합니다.

Describe studentPK;

또 다른 쿼리는 생성되는 테이블을 설명하는 것입니다. 아래 표시된 이미지는 studentPK 테이블의 필드에 입력되는 제약 조건을 보여줍니다.

테이블에 제약 조건이 있는 실제 실행

MySQL 테이블에서 제약 조건 삭제

MySQL에서 DROP 제약 조건을 실행하는 쿼리:

Alter table studentPK drop primary key;

위의 구문은 Alter 키워드를 사용하여 studentPk의 구문을 변경합니다. 제약 조건은 테이블 수준이므로 테이블 수준에서 잘 삭제됩니다.

Alter 명령은 테이블의 스키마를 변경할 때 가장 적합합니다. 동일한 테이블에서 기본 키를 삭제하여 StudentPk 테이블의 스키마를 변경합니다.

아래는 동일한 로컬 실행 이미지입니다.

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 테이블의 외래 키로 바인딩합니다.

출력은 아래 표시된 이미지에서 확인할 수 있습니다.

MySQL에서 외래 키 제약 조건이 있는 새 테이블 생성

외부 키가 내부적으로 생성되면 키에 대한 새 키 이름이 생성됩니다. 테이블을 설명하고 이름을 보는 문은 다음과 같습니다.

SHOW CREATE TABLE studentDept;

아래는 MySQL에서 테이블 구조를 보기 위한 콘솔 출력 사진입니다.

MySQL 테이블 및 제약 조건 이름 설명

위 이미지는 외래 키가 studentdept_ibfk_1이라는 이름으로 생성되었음을 나타냅니다. 이제 생성된 이름으로 외래 키를 쉽게 삭제할 수 있습니다.

Alter table studentDept drop foreign key studentdept_ibfk_1;

위의 쿼리는 studentDept 테이블에서 외래 키를 삭제합니다. Alter 명령은 스키마 수준에서 변경이 발생함을 나타냅니다.

외래 키는 studentDept 테이블에서 삭제됩니다. describe 명령을 사용하여 다시 확인할 수 있습니다.

외래 키를 삭제하기 전에 기억해야 할 사항:

  1. 외래 키의 이름이 미리 필요합니다. 테이블에서 제약 조건을 삭제하려면 키가 필요합니다.

  2. 키 이름을 모르는 상태에서 drop 명령을 실행하면 아래와 같은 오류가 발생합니다.

    키 이름 없이 사용할 때 외래 키 제약 조건 삭제 오류

  3. SHOW CREATE TABLE 명령은 필수입니다.

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

관련 문장 - MySQL Table