Drop table 제약조건 - drop table jeyagjogeon

제약 조건 삭제¶

제약 조건은 ALTER TABLE 명령을 사용하여 삭제합니다.

  • ALTER TABLE … DROP CONSTRAINT …는 지정된 제약 조건을 명시적으로 삭제합니다. 제약 조건 수정과 마찬가지로, 제약 조건 유형과 함께 제약 조건 이름 또는 열 정의로 제약 조건을 식별할 수 있습니다. 기본 키의 경우 PRIMARY KEY 키워드를 사용하여 제약 조건을 식별할 수도 있습니다.

  • ALTER TABLE … DROP COLUMN …는 열과 그 열에 관련된 제약 조건을 삭제합니다.

기본적으로, 기본/고유 키를 삭제하면 RESTRICT 삭제 옵션을 지정하지 않는 한 삭제되는 키를 참조하는 모든 외래 키도 삭제됩니다.

연결된 테이블/스키마/데이터베이스를 삭제하면 제약 조건도 삭제됩니다. DROP 명령은 CASCADE | RESTRICT 삭제 옵션을 지원합니다.

참고

삭제한 테이블, 스키마, 데이터베이스는 UNDROP 명령을 사용하여 복원할 수 있으며, 삭제한 열과 제약 조건을 복원할 수는 없습니다.

이 항목의 내용:

제약 조건 삭제¶

(ALTER TABLE … DROP CONSTRAINT …를 사용하여) 고유/기본/외래 키 제약 조건을 명시적으로 삭제할 수 있습니다.

ALTER TABLE <table_name> DROP { CONSTRAINT <name> | PRIMARY KEY | { UNIQUE | FOREIGN KEY } (<column>, [ ... ] ) } [ CASCADE | RESTRICT ]

이러한 제약 조건의 경우, 외래 키 제약 조건이나 외래 키 참조가 없는 기본/고유 키 제약 조건을 삭제할 때 제약 조건이 직접 삭제됩니다.

기본 삭제 옵션은 CASCADE인데, 이는 곧 외래 키 참조가 있는 고유/기본 키를 삭제하면 참조하는 모든 외래 키가 고유/기본 키와 함께 삭제된다는 뜻입니다.

  • RESTRICT 삭제 옵션을 지정한 경우 기본/고유 키를 삭제할 때, 삭제되는 키를 참조하는 외래 키가 존재하면 오류가 반환됩니다.

열 삭제¶

ALTER TABLE … DROP COLUMN …을 사용한 열 삭제는 제약 조건 삭제와 비슷하게 동작합니다.

ALTER TABLE <table_name> DROP COLUMN <name> [ CASCADE | RESTRICT ]

기본 삭제 옵션은 CASCADE인데, 이는 곧 삭제되는 열을 포함하는 모든 제약 조건도 삭제된다는 뜻입니다. 열과 관련된 기본/고유 키를 다른 외래 키 제약 조건에서 참조하는 경우, 참조하는 외래 키는 전부 삭제됩니다.

  • RESTRICT 옵션을 지정하는 경우, 열에 외래 키 참조를 포함한 기본/고유 키가 있으면 오류가 반환됩니다. 삭제되는 열에 대해 정의되거나 이 열을 참조하는 제약 조건이 없는 경우에만 이 삭제 명령이 성공합니다.

테이블/스키마/데이터베이스 삭제¶

DROP 명령을 실행하면 지정한 테이블, 스키마 또는 데이터베이스가 삭제되며, 오브젝트와 관련된 모든 제약 조건을 삭제하도록 이 명령을 지정할 수도 있습니다.

DROP { TABLE | SCHEMA | DATABASE } <name> [ CASCADE | RESTRICT ]

열 및 제약 조건 삭제와 마찬가지로, CASCADE가 기본 삭제 옵션이며 삭제되는 오브젝트에 속하거나 이런 오브젝트를 참조하는 모든 제약 조건도 삭제됩니다.

예를 들어 데이터베이스를 삭제할 때, 데이터베이스에 다른 데이터베이스의 외래 키가 참조하는 기본/고유 키가 포함되어 있으면 참조하는 외래 키도 삭제됩니다.

나중에 오브젝트 삭제를 취소하면 이전에 삭제한 모든 관련 제약 조건이 복원됩니다.

RESTRICT 옵션을 지정한 경우 오브젝트 아래의 모든 기본/고유 제약 조건에 외래 키 참조가 있으면 오류가 반환됩니다.

SQL DROP CONSTRAINT Keyword


The DROP CONSTRAINT command is used to delete a UNIQUE, PRIMARY KEY, FOREIGN KEY, or CHECK constraint.


DROP a UNIQUE Constraint

To drop a UNIQUE constraint, use the following SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;

MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;


DROP a PRIMARY KEY Constraint

To drop a PRIMARY KEY constraint, use the following SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY;


DROP a FOREIGN KEY Constraint

To drop a FOREIGN KEY constraint, use the following SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;


DROP a CHECK Constraint

To drop a CHECK constraint, use the following SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;

MySQL:

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;



티스토리 뷰

1. DROP - 역할

테이블을 삭제하고자 할 때 사용하는 명령어

◈ 구문형식

DROP TABLE 테이블 이름 [CASCADE CONSTRAINTS]

2. DROP - SQL 문장

◈ SQL 문장

DROP TABLE TEST_TABLE_ONECASCADE CONSTRAINTS;


◈ 설명

DROP이라는 명령어는 테이블을 삭제할 때 사용합니다.

위에서 TAEBLE_ONE 이라는 테이블을 삭제할 때 사용하는 SQL 문장입니다.

옵션에서 봐야 할 부분이 있습니다.

CASECADE CONSTRAINTS라는 것은 현재 테이블에 제약조건이 걸려있을 때 입니다.

다른 테이블에 참조관계나 제약관계에 있다고 하면 CASECADE CONSTRAINTS 라는 옵션을 넣지 않을 경우에는 테이블이 삭제가 되지 않습니다.

따라서 현재 테이블이 제약조건이 없을 경우에는 테이블명까지만 입력해도 테이블이 삭제가 되는데 제약조건이 있을 경우에는 뒤에 있는 문장까지 써주셔야 해당 테이블이 삭제가 됩니다.

«   2022/11   »

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Total991,225Today1Yesterday1,383