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

"필드 (데이터베이스)"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글 (같이 보기)
 
(다른 사용자 한 명의 중간 판 3개는 보이지 않습니다)
8번째 줄: 8번째 줄:
  
 
==기능==
 
==기능==
* 필드 삽입 - ALTER
+
필드의 삽입, 삭제, 수정은 모두 ALTER문으로 이뤄진다. 밑의 기능 설명은 MYSQL을 기준으로 작성되었는데, ORACLE 등 DBMS마다 명령어가 조금씩 다르기 때문에 이에 유의해서 사용해야한다.
 +
 
 +
* 필드 삽입
 
  > ALTER TABLE [테이블명] ADD [삽입할 필드명][삽입할 필드 타입][옵션]; <ref name="MC빼인트와 함께">〈[https://mcpaint.tistory.com/194 [MYSQL]테이블 생성, 컬럼추가, 삭제, 수정]〉, 《개인사이트》, 2012-06-28 </ref>
 
  > ALTER TABLE [테이블명] ADD [삽입할 필드명][삽입할 필드 타입][옵션]; <ref name="MC빼인트와 함께">〈[https://mcpaint.tistory.com/194 [MYSQL]테이블 생성, 컬럼추가, 삭제, 수정]〉, 《개인사이트》, 2012-06-28 </ref>
 
필드를 삽입하는 ALTER문에선 삽입될 필드의 타입과 몇가지 옵션들을 통해 삽입될 필드의 기본 기능들을 설정할 수 있다. 해당되는 옵션으로는 첫째, 디폴트값을 설정할 수 있다. 옵션 자리에 'DEFAULT 0'을 넣어주면 삽입될 필드의 디폴트 값은 0으로 설정된다. 두번째, NULL의 여부를 설정할 수 있다. 옵션 자리에 'NOT NULL DEFAULT 0'을 넣어주면 삽입될 필드은 NULL 값을 허용하지 않고, 디폴트값은 0으로 설정된다. <ref name="바오">〈[http://blog.naver.com/PostView.nhn?blogId=pcgun70&logNo=220726410200 MYSQL 필드 추가, 수정, 삭제 - add, rename, drop, change, modify]〉, 《개인블로그》, 2016-06-03 </ref> 세번째, 삽입될 필드의 위치를 설정할 수 있다. 옵션 자리에 'NOT NULL DEFAULT 0 AFTER [기존 테이블에 있던 필드명]'을 넣어주면 삽입될 필드은 NULL 값을 허용하지않고, 디폴트값은 0으로 설정되며 기존 테이블에 있던 필드명 뒤의 위치로 삽입된다. 'NOT NULL DEFAULT 0 FIRST'를 넣어주게 되면, 삽입되는 필드의 위치는 기존 테이블의 맨 앞이 된다. <ref name="개발자가 되기위한 첫 걸음">〈[https://juyoung-1008.tistory.com/17 MYSQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제]〉, 《개인사이트》, 2018-12-14 </ref>
 
필드를 삽입하는 ALTER문에선 삽입될 필드의 타입과 몇가지 옵션들을 통해 삽입될 필드의 기본 기능들을 설정할 수 있다. 해당되는 옵션으로는 첫째, 디폴트값을 설정할 수 있다. 옵션 자리에 'DEFAULT 0'을 넣어주면 삽입될 필드의 디폴트 값은 0으로 설정된다. 두번째, NULL의 여부를 설정할 수 있다. 옵션 자리에 'NOT NULL DEFAULT 0'을 넣어주면 삽입될 필드은 NULL 값을 허용하지 않고, 디폴트값은 0으로 설정된다. <ref name="바오">〈[http://blog.naver.com/PostView.nhn?blogId=pcgun70&logNo=220726410200 MYSQL 필드 추가, 수정, 삭제 - add, rename, drop, change, modify]〉, 《개인블로그》, 2016-06-03 </ref> 세번째, 삽입될 필드의 위치를 설정할 수 있다. 옵션 자리에 'NOT NULL DEFAULT 0 AFTER [기존 테이블에 있던 필드명]'을 넣어주면 삽입될 필드은 NULL 값을 허용하지않고, 디폴트값은 0으로 설정되며 기존 테이블에 있던 필드명 뒤의 위치로 삽입된다. 'NOT NULL DEFAULT 0 FIRST'를 넣어주게 되면, 삽입되는 필드의 위치는 기존 테이블의 맨 앞이 된다. <ref name="개발자가 되기위한 첫 걸음">〈[https://juyoung-1008.tistory.com/17 MYSQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제]〉, 《개인사이트》, 2018-12-14 </ref>
각 옵션들의 종류는 몇가지 있지만, 대표적인 것들을 예시로 설명하였다.
+
각 옵션들의 종류는 몇가지 있지만, 대표적인 것들을 예시로 설명하였다. 또한 삽입한 필드의 길이 제한은 삽입할 필드 타입명 옆에 '(길이)'로 설정할 수 있다. 예를들면 'INT(10)'로 설정하면 삽입한 필드는 int형에 길이는 10으로 제한된다는 의미이다.
  
* 필드 삭제 - ALTER
+
* 필드 삭제
  > ALTER TABLE [테이블명] DROP [삭제할 필드명] <ref name="ZETAWIKI">〈[https://zetawiki.com/wiki/MySQL_%ED%85%8C%EC%9D%B4%EB%B8%94_%EC%BB%AC%EB%9F%BC_%EC%82%AD%EC%A0%9C MySQL 테이블 컬럼 삭제]〉, 《ZETAWIKI》, 2020-02-27</ref>
+
1) 필드 삭제
 +
  > ALTER TABLE [테이블명] DROP [삭제할 필드명]; <ref name="ZETAWIKI(1)">〈[https://zetawiki.com/wiki/MySQL_%ED%85%8C%EC%9D%B4%EB%B8%94_%EC%BB%AC%EB%9F%BC_%EC%82%AD%EC%A0%9C MySQL 테이블 컬럼 삭제]〉, 《ZETAWIKI》, 2020-02-27</ref>
 
필드를 삭제하는 ALTER문에선 DROP문을 이용하여 특정 필드를 지정해줘야한다. 필드를 삭제할 경우 해당 필드 안에 들어있는 데이터값들 또한 모두 삭제되기 때문에 주의해서 사용해야한다. 또한 삭제 기능은 데이터베이스를 따로 백업해두지않은 이상 복원할 수 없기 때문에 사용시 신중해야한다. <ref name="everdevel">〈[https://www.everdevel.com/MySQL/record-md/ 레코드 변경 및 삭제하기]〉, 《everdevel(Brand New Day)》</ref>
 
필드를 삭제하는 ALTER문에선 DROP문을 이용하여 특정 필드를 지정해줘야한다. 필드를 삭제할 경우 해당 필드 안에 들어있는 데이터값들 또한 모두 삭제되기 때문에 주의해서 사용해야한다. 또한 삭제 기능은 데이터베이스를 따로 백업해두지않은 이상 복원할 수 없기 때문에 사용시 신중해야한다. <ref name="everdevel">〈[https://www.everdevel.com/MySQL/record-md/ 레코드 변경 및 삭제하기]〉, 《everdevel(Brand New Day)》</ref>
 +
 +
2) 필드 디폴트값 삭제
 +
> ALTER TABLE [테이블명] ALTER [필드명] DROP DEFAULT;
 +
ALTER문을 이용하여 지정한 필드의 디폴트값을 삭제할 수 있다. <ref name="TCPSCHOOL.com">〈[http://tcpschool.com/mysql/mysql_constraint_default DEFAULT]〉, 《TCPSCHOOL.com》</ref>
 +
 +
* 필드 수정 <ref name="개발자언니네">〈[https://m.blog.naver.com/PostView.nhn?blogId=luvtoma&logNo=221148925495&proxyReferer=https:%2F%2Fwww.google.com%2F MySQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제]〉, 《개인블로그》, 2017-11-26</ref>
 +
1) 필드명 수정
 +
> ALTER TABLE [테이블명] CHANGE [변경할 필드명][새로운 필드명][타입];
 +
필드명을 수정하는 ALTER문은 기존 테이블에 존재하는 필드의 이름을 바꿀 수 있다. 필드명을 변경하면서 타입 또한 변경이 가능하다. 타입 변경시 타입명 옆에 '(길이)'로 필드의 길이를 제한할 수 있다. 예를들면 'INT(10)'로 설정하면 변경한 필드는 int형에 길이는 10으로 제한된다는 의미이다. <ref name="MC빼인트와 함께"></ref>
 +
 +
2) 필드 순서 수정
 +
> ALTER TABLE [테이블명] MODIFY (COLUMN) [순서 변경할 필드명] [타입] AFTER [순서 변경할 필드 앞에 오는 필드명];
 +
> ALTER TABLE [테이블명] MODIFY (COLUMN) [순서 변경할 필드명] [타입] FIRST;
 +
필드 순서를 수정하는 ALTER문은 테이블에 존재하는 필드들의 순서를 바꿀 수 있다. 옵션이 AFTER일 경우 지정한 필드 뒤에 해당 필드가 오게 수정하는 것이고, FIRST일 경우 테이블의 필드 중 맨 앞에 오게 수정하는 것이다. <ref name="ZETAWIKI(2)">〈[https://zetawiki.com/wiki/MySQL_%ED%85%8C%EC%9D%B4%EB%B8%94_%EC%BB%AC%EB%9F%BC_%EC%88%9C%EC%84%9C_%EB%B0%94%EA%BE%B8%EA%B8%B0 MySQL 테이블 컬럼 순서 바꾸기]〉, 《ZETAWIKI》, 2020-02-27</ref>
 +
 +
3) 필드 디폴트값 수정
 +
> ALTER TABLE [테이블명] ALTER (COLUMN) [디폴트값을 수정할 필드명] SET DEFAULT [디폴트값]; <ref name="두번째 뇌">〈[https://devhoma.tistory.com/62 [SQL]테이블의 컬럼 수정하기]〉, 《개인사이트》, 2015-12-30</ref>
 +
필드의 디폴트값을 수정하는 ALTER문은 필드의 디폴트값을 바꿀 수 있다.
 +
 +
4) 필드 타입 수정
 +
> ALTER TABLE [테이블명] MODIFY [타입을 변경할 필드명][변경할 타입];
 +
필드의 타입을 수정하는 ALTER문은 필드를 굳이 삭제하지않고, 필드의 타입을 변경할 수 있다. <ref name="타우리TV_개인유투버">〈[https://blog.naver.com/toys999/140194530204 [MySQL]컬럼 추가 및 삭제, 변경 쿼리]〉, 《개인블로그》, 2013-08-04</ref>
 +
 +
(※위의 SQL문은 MYSQL을 기준으로 작성하였습니다.)
 +
 
===예시===
 
===예시===
 +
[[파일:필드(field)_예시.PNG|600픽셀|섬네일|가운데|필드(field)] 예시]]
 +
 +
필드(field)는 위의 그림과 같이 [[테이블]](table)에서 각 열을 의미한다. 필드는 열(colum) 또는 속성(attribute)이라고도 부르며, 각 필드가 가진 [[레코드]](record)의 수는 모두 같다. 위의 그림은 필드가 5, 레코드가 3인 테이블이다.
  
 
{{각주}}
 
{{각주}}
  
 
==참고자료==
 
==참고자료==
 
+
* TCPSCHOOL.com, 〈[http://tcpschool.com/mysql/mysql_intro_relationalDB 관계형 데이터베이스]〉, 《TCPSCHOOL.com》
 +
* 개발자언니네, 〈[https://m.blog.naver.com/PostView.nhn?blogId=luvtoma&logNo=221148925495&proxyReferer=https:%2F%2Fwww.google.com%2F MySQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제]〉, 《개인블로그》
  
 
== 같이 보기 ==
 
== 같이 보기 ==
28번째 줄: 60번째 줄:
 
* [[필드]]
 
* [[필드]]
  
{{프로그래밍|검토 필요}}
+
{{데이터|검토 필요}}
 
 
[[분류:데이터베이스]]
 

2021년 8월 7일 (토) 03:19 기준 최신판

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