검수요청.png검수요청.png

필드 (데이터베이스)

해시넷
이동: 둘러보기, 검색

필드(field)란 데이터베이스에서 세로 방향으로 표시한 컬럼(Column)을 말한다. (列)이라고도 한다. 필드는 DB Table에서 가로로 표시한 레코드 (Record)에 대한 개별적인 속성값을 표시한다. DB 필드라고도 한다. 반대말은 레코드(record)이다.

레코드(record)

특징

필드(field)는 SQL에서 열(column) 또는 속성(attribute)이라고 불린다.

기능

필드의 삽입, 삭제, 수정은 모두 ALTER문으로 이뤄진다. 밑의 기능 설명은 MYSQL을 기준으로 작성되었는데, ORACLE 등 DBMS마다 명령어가 조금씩 다르기 때문에 이에 유의해서 사용해야한다.

  • 필드 삽입
> ALTER TABLE [테이블명] ADD [삽입할 필드명][삽입할 필드 타입][옵션]; [1]

필드를 삽입하는 ALTER문에선 삽입될 필드의 타입과 몇가지 옵션들을 통해 삽입될 필드의 기본 기능들을 설정할 수 있다. 해당되는 옵션으로는 첫째, 디폴트값을 설정할 수 있다. 옵션 자리에 'DEFAULT 0'을 넣어주면 삽입될 필드의 디폴트 값은 0으로 설정된다. 두번째, NULL의 여부를 설정할 수 있다. 옵션 자리에 'NOT NULL DEFAULT 0'을 넣어주면 삽입될 필드은 NULL 값을 허용하지 않고, 디폴트값은 0으로 설정된다. [2] 세번째, 삽입될 필드의 위치를 설정할 수 있다. 옵션 자리에 'NOT NULL DEFAULT 0 AFTER [기존 테이블에 있던 필드명]'을 넣어주면 삽입될 필드은 NULL 값을 허용하지않고, 디폴트값은 0으로 설정되며 기존 테이블에 있던 필드명 뒤의 위치로 삽입된다. 'NOT NULL DEFAULT 0 FIRST'를 넣어주게 되면, 삽입되는 필드의 위치는 기존 테이블의 맨 앞이 된다. [3] 각 옵션들의 종류는 몇가지 있지만, 대표적인 것들을 예시로 설명하였다. 또한 삽입한 필드의 길이 제한은 삽입할 필드 타입명 옆에 '(길이)'로 설정할 수 있다. 예를들면 'INT(10)'로 설정하면 삽입한 필드는 int형에 길이는 10으로 제한된다는 의미이다.

  • 필드 삭제

1) 필드 삭제

> ALTER TABLE [테이블명] DROP [삭제할 필드명]; [4]

필드를 삭제하는 ALTER문에선 DROP문을 이용하여 특정 필드를 지정해줘야한다. 필드를 삭제할 경우 해당 필드 안에 들어있는 데이터값들 또한 모두 삭제되기 때문에 주의해서 사용해야한다. 또한 삭제 기능은 데이터베이스를 따로 백업해두지않은 이상 복원할 수 없기 때문에 사용시 신중해야한다. [5]

2) 필드 디폴트값 삭제

> ALTER TABLE [테이블명] ALTER [필드명] DROP DEFAULT;

ALTER문을 이용하여 지정한 필드의 디폴트값을 삭제할 수 있다. [6]

  • 필드 수정 [7]

1) 필드명 수정

> ALTER TABLE [테이블명] CHANGE [변경할 필드명][새로운 필드명][타입];

필드명을 수정하는 ALTER문은 기존 테이블에 존재하는 필드의 이름을 바꿀 수 있다. 필드명을 변경하면서 타입 또한 변경이 가능하다. 타입 변경시 타입명 옆에 '(길이)'로 필드의 길이를 제한할 수 있다. 예를들면 'INT(10)'로 설정하면 변경한 필드는 int형에 길이는 10으로 제한된다는 의미이다. [1]

2) 필드 순서 수정

> ALTER TABLE [테이블명] MODIFY (COLUMN) [순서 변경할 필드명] [타입] AFTER [순서 변경할 필드 앞에 오는 필드명];
> ALTER TABLE [테이블명] MODIFY (COLUMN) [순서 변경할 필드명] [타입] FIRST;

필드 순서를 수정하는 ALTER문은 테이블에 존재하는 필드들의 순서를 바꿀 수 있다. 옵션이 AFTER일 경우 지정한 필드 뒤에 해당 필드가 오게 수정하는 것이고, FIRST일 경우 테이블의 필드 중 맨 앞에 오게 수정하는 것이다. [8]

3) 필드 디폴트값 수정

> ALTER TABLE [테이블명] ALTER (COLUMN) [디폴트값을 수정할 필드명] SET DEFAULT [디폴트값]; [9]

필드의 디폴트값을 수정하는 ALTER문은 필드의 디폴트값을 바꿀 수 있다.

4) 필드 타입 수정

> ALTER TABLE [테이블명] MODIFY [타입을 변경할 필드명][변경할 타입];

필드의 타입을 수정하는 ALTER문은 필드를 굳이 삭제하지않고, 필드의 타입을 변경할 수 있다. [10]

(※위의 SQL문은 MYSQL을 기준으로 작성하였습니다.)

예시

필드(field)] 예시

필드(field)는 위의 그림과 같이 테이블(table)에서 각 열을 의미한다. 필드는 열(colum) 또는 속성(attribute)이라고도 부르며, 각 필드가 가진 레코드(record)의 수는 모두 같다. 위의 그림은 필드가 5, 레코드가 3인 테이블이다.

각주

  1. 1.0 1.1 [MYSQL테이블 생성, 컬럼추가, 삭제, 수정]〉, 《개인사이트》, 2012-06-28
  2. MYSQL 필드 추가, 수정, 삭제 - add, rename, drop, change, modify〉, 《개인블로그》, 2016-06-03
  3. MYSQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제〉, 《개인사이트》, 2018-12-14
  4. MySQL 테이블 컬럼 삭제〉, 《ZETAWIKI》, 2020-02-27
  5. 레코드 변경 및 삭제하기〉, 《everdevel(Brand New Day)》
  6. DEFAULT〉, 《TCPSCHOOL.com》
  7. MySQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제〉, 《개인블로그》, 2017-11-26
  8. MySQL 테이블 컬럼 순서 바꾸기〉, 《ZETAWIKI》, 2020-02-27
  9. [SQL테이블의 컬럼 수정하기]〉, 《개인사이트》, 2015-12-30
  10. [MySQL컬럼 추가 및 삭제, 변경 쿼리]〉, 《개인블로그》, 2013-08-04

참고자료

같이 보기


  검수요청.png검수요청.png 이 필드 (데이터베이스) 문서는 데이터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.