필드 (데이터베이스) 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
8번째 줄: 8번째 줄:
  
 
==기능==
 
==기능==
필드의 삽입, 삭제, 수정은 모두 ALTER문으로 이뤄진다. 밑의 기능 설명은 MYSQL을 기준으로 작성되었는데, ORACLE 등 DBMS마다 명령어가 조금씩 다르기 때문에 이에 유의해서 사용해야한다.
+
* 필드 삽입 - ALTER
 
 
* 필드 삽입
 
 
  > 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으로 제한된다는 의미이다.
+
각 옵션들의 종류는 몇가지 있지만, 대표적인 것들을 예시로 설명하였다.
 
 
* 필드 삭제
 
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>
 
 
 
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을 기준으로 작성하였습니다.)
 
  
 +
* 필드 삭제 - 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>
 +
필드를 삭제하는 ALTER문에선 DROP문을 이용하여 특정 필드를 지정해줘야한다. 필드를 삭제할 경우 해당 필드 안에 들어있는 데이터값들 또한 모두 삭제되기 때문에 주의해서 사용해야한다. 또한 삭제 기능은 데이터베이스를 따로 백업해두지않은 이상 복원할 수 없기 때문에 사용시 신중해야한다. <ref name="無所有"></ref> <ref name="everdevel">〈[https://www.everdevel.com/MySQL/record-md/ 레코드 변경 및 삭제하기]〉, 《everdevel(Brand New Day)》</ref>
 
===예시===
 
===예시===
[[파일:필드(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 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제]〉, 《개인블로그》
 
  
 
== 같이 보기 ==
 
== 같이 보기 ==
60번째 줄: 28번째 줄:
 
* [[필드]]
 
* [[필드]]
  
{{데이터|검토 필요}}
+
{{프로그래밍|검토 필요}}
 +
 
 +
[[분류:데이터베이스]]

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)