강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

MySQL강좌46편:테이블에 새로운 필드추가하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

MySQL강좌46:테이블에 새로운 필드추가하기

 

방금 생성한 testtable내에 새로운 필드를 추가해 보도록하겠다. 새로운 필드를 추가하는 형식은 다음과 같다.

 

ALTER TABLE 테이블명 ADD [COLUMN] 필드명 필드타입

아래의 예는 testtable내에 homepage라는 필드를 추가한 것이다.

 

mysql> alter table testtable add column homepage varchar(30);

Query OK, 0 rows affected (0.02 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

mysql>

 

다음은 결과를 확인하기 위하여 “desc testtable”을 실행한 것이다.

 

mysql> desc testtable;

+----------+-----------------------+------+-----+---------+-------+

| Field    | Type                  | Null | Key | Default | Extra |

+----------+-----------------------+------+-----+---------+-------+

| uid      | mediumint(4) unsigned | NO   | PRI | 0       |       |

| name     | varchar(12)           | NO   |     |         |       |

| email    | varchar(20)           | NO   |     |         |       |

| homepage | varchar(30)           | YES  |     | NULL    |       |

+----------+-----------------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

 

mysql>

 

위의 결과를 보면 homepage라는 테이블이 varchar(30)타입으로 생성되어 있다는 것을 확인할 수 있다.

 

 

필드 속성변경하기

 

이번에는 테이블내에 존재하는 특정필드의 속성을 변경해보도록 하겠다. 필드의 속성을 변경하는 주된 이유는 특정필드의 자리수를 늘리거나,  필드타입을 다른 것으로 변경하기위한 것이다. 즉 게시판 프로그램등에서 이름이나 주소를 입력받고자할 때에 자리수가 모자라는 경우에 필요한 작업이라고 할 수 있다.

 

필드의 속성을 변경하기위한 형식은 다음과 같다.

 

ALTER TABLE 테이블명 CHANGE [COLUMN] 기존필드명 새필드명 필드타입

 

아래의 예는 방금 전에 생성하였던 homepage라는 필드의 이름을 website로 변경하고 자리수를 50자리로 늘린 예이다.

 

mysql> alter table testtable change column homepage website varchar(50);

Query OK, 0 rows affected (0.01 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

mysql>

 

그리고 다음은 “desc testtable”을 실행하여 변경된 필드의 이름과 자리수를 확인한 것이다.

 

mysql> desc testtable;

+---------+-----------------------+------+-----+---------+-------+

| Field   | Type                  | Null | Key | Default | Extra |

+---------+-----------------------+------+-----+---------+-------+

| uid     | mediumint(4) unsigned | NO   | PRI | 0       |       |

| name    | varchar(12)           | NO   |     |         |       |

| email   | varchar(20)           | NO   |     |         |       |

| website | varchar(50)           | YES  |     | NULL    |       |

+---------+-----------------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

 

mysql>

 

위의 결과를 보는바와같이 원래 homepage필드의 이름이 website로 변경되었으며 30자리수에서 50자리로 수정되었음을 알 수 있다. , 다음은 기존에 존재했던 필드를 삭제하는 예이다.

 


기존의 필드삭제하기

 

또한 불필요한 필드를 삭제할 수도 있다. 앞에서 생성했던 website라는 필드를 삭제해보도록 하겠다. 삭제하는 명령의 형식은 다음과 같다.

 

ALTER TABLE 테이블명 DROP [COLUMN] 필드명

 

다음예는 testtable에 존재했던 website라는 필드를 삭제한 것이다.

 

mysql> alter table testtable drop column website;

Query OK, 0 rows affected (0.01 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

mysql>

 

그리고 다음은 그 결과를 확인하기 위하여 “desc testtable”을 실행한 예이다.

 

mysql> desc testtable;

+-------+-----------------------+------+-----+---------+-------+

| Field | Type                  | Null | Key | Default | Extra |

+-------+-----------------------+------+-----+---------+-------+

| uid   | mediumint(4) unsigned | NO   | PRI | 0       |       |

| name  | varchar(12)           | NO   |     |         |       |

| email | varchar(20)           | NO   |     |         |       |

+-------+-----------------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

 

mysql>

 

위의 결과를 보면 기존에 존재하고있었던 website라는 필드가 삭제되었음을 알 수 있다.  이와같이 기존의 필드속성을 변경(수정,삭제등)할 수 있다는 것을 알아 보았다.

 

 

기존의 테이블 삭제하기

 

지금까지의 예는 특정테이블내에 존재하는 필드를 추가,변경,삭제하는 예를 보았다. 이번에는 필드가 아니라 테이블 자체를 삭제하는 예를보도록 하겠다.  특정테이블을 삭제하는 명령어의 형식은 아래 보는 바와같이 아주 간단하다.

 

사용형식 : DROP TABLE 테이블명

 

먼저 아래의 예를보면 “show tables”를 실행한 결과 앞에서 생성하였던 testtable이 존재하고있다는 것을 알 수 있다.

 

mysql> show tables;

+------------------+

| Tables_in_TESTDB |

+------------------+

| testtable        |

+------------------+

1 row in set (0.00 sec)

 

mysql>

 

그리고 다음은 “drop table testable”을 실행하여 testable테이블을 삭제한 예이다.

 

mysql> drop table testtable;

Query OK, 0 rows affected (0.00 sec)

 

mysql>

mysql> show tables;

Empty set (0.00 sec)

 

mysql>

 

그리고 결과를 확인하기 위하여 다시한번 “show tables”를 실행하였다. 그 결과 testtable테이블이 삭제되었음을 확인하였다.

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,772 개
  • 현재 접속자 :  112 명