"필드 (데이터베이스)"의 두 판 사이의 차이
잔글 (→같이 보기) |
|||
(다른 사용자 한 명의 중간 판 2개는 보이지 않습니다) | |||
8번째 줄: | 8번째 줄: | ||
==기능== | ==기능== | ||
− | * 필드 삽입 | + | 필드의 삽입, 삭제, 수정은 모두 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으로 제한된다는 의미이다. | 각 옵션들의 종류는 몇가지 있지만, 대표적인 것들을 예시로 설명하였다. 또한 삽입한 필드의 길이 제한은 삽입할 필드 타입명 옆에 '(길이)'로 설정할 수 있다. 예를들면 'INT(10)'로 설정하면 삽입한 필드는 int형에 길이는 10으로 제한된다는 의미이다. | ||
− | * 필드 삭제 | + | * 필드 삭제 |
1) 필드 삭제 | 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 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> | ||
22번째 줄: | 24번째 줄: | ||
ALTER문을 이용하여 지정한 필드의 디폴트값을 삭제할 수 있다. <ref name="TCPSCHOOL.com">〈[http://tcpschool.com/mysql/mysql_constraint_default DEFAULT]〉, 《TCPSCHOOL.com》</ref> | 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) 필드명 수정 | 1) 필드명 수정 | ||
> ALTER TABLE [테이블명] CHANGE [변경할 필드명][새로운 필드명][타입]; | > ALTER TABLE [테이블명] CHANGE [변경할 필드명][새로운 필드명][타입]; | ||
33번째 줄: | 35번째 줄: | ||
3) 필드 디폴트값 수정 | 3) 필드 디폴트값 수정 | ||
− | > ALTER | + | > 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인 테이블이다. | ||
{{각주}} | {{각주}} | ||
48번째 줄: | 60번째 줄: | ||
* [[필드]] | * [[필드]] | ||
− | {{ | + | {{데이터|검토 필요}} |
− | |||
− |
2021년 8월 7일 (토) 03:19 기준 최신판
필드(field)란 데이터베이스에서 세로 방향으로 표시한 컬럼(Column)을 말한다. 열(列)이라고도 한다. 필드는 DB Table에서 가로로 표시한 레코드 (Record)에 대한 개별적인 속성값을 표시한다. DB 필드라고도 한다. 반대말은 레코드(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)는 위의 그림과 같이 테이블(table)에서 각 열을 의미한다. 필드는 열(colum) 또는 속성(attribute)이라고도 부르며, 각 필드가 가진 레코드(record)의 수는 모두 같다. 위의 그림은 필드가 5, 레코드가 3인 테이블이다.
각주[편집]
- ↑ 1.0 1.1 〈[MYSQL테이블 생성, 컬럼추가, 삭제, 수정]〉, 《개인사이트》, 2012-06-28
- ↑ 〈MYSQL 필드 추가, 수정, 삭제 - add, rename, drop, change, modify〉, 《개인블로그》, 2016-06-03
- ↑ 〈MYSQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제〉, 《개인사이트》, 2018-12-14
- ↑ 〈MySQL 테이블 컬럼 삭제〉, 《ZETAWIKI》, 2020-02-27
- ↑ 〈레코드 변경 및 삭제하기〉, 《everdevel(Brand New Day)》
- ↑ 〈DEFAULT〉, 《TCPSCHOOL.com》
- ↑ 〈MySQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제〉, 《개인블로그》, 2017-11-26
- ↑ 〈MySQL 테이블 컬럼 순서 바꾸기〉, 《ZETAWIKI》, 2020-02-27
- ↑ 〈[SQL테이블의 컬럼 수정하기]〉, 《개인사이트》, 2015-12-30
- ↑ 〈[MySQL컬럼 추가 및 삭제, 변경 쿼리]〉, 《개인블로그》, 2013-08-04
참고자료[편집]
- TCPSCHOOL.com, 〈관계형 데이터베이스〉, 《TCPSCHOOL.com》
- 개발자언니네, 〈MySQL 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제〉, 《개인블로그》
같이 보기[편집]