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

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

위키원
이동: 둘러보기, 검색
11번째 줄: 11번째 줄:
 
  > 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
  > 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>
 +
 +
* 필드 수정 - ALTER <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
 +
 
===예시===
 
===예시===
  
21번째 줄: 40번째 줄:
  
 
==참고자료==
 
==참고자료==
 
+
* 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 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제]〉, 《개인블로그》
  
 
== 같이 보기 ==
 
== 같이 보기 ==

2020년 8월 31일 (월) 12:22 판

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

레코드(record)

특징

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

기능

  • 필드 삽입 - ALTER
> 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으로 제한된다는 의미이다.

  • 필드 삭제 - ALTER

1) 필드 삭제

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

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

2) 필드 디폴트값 삭제

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

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

  • 필드 수정 - ALTER [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

예시

각주

  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

참고자료

같이 보기


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