사이트 내 전체검색
ALTER 테이블 추가,변경
로빈아빠
https://cmd.kr/server/1082 URL이 복사되었습니다.

본문

ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]

alter_specification:

        ADD [COLUMN] create_definition [FIRST | AFTER column_name ]

  or    ADD [COLUMN] (create_definition, create_definition,...)
 
  or    ADD INDEX [index_name] (index_col_name,...)
 
  or    ADD PRIMARY KEY (index_col_name,...)
 
  or    ADD UNIQUE [index_name] (index_col_name,...)
 
  or    ADD FULLTEXT [index_name] (index_col_name,...)
 
  or ADD [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,...) [reference_definition]
 
  or    ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
 
  or    CHANGE [COLUMN] old_col_name create_definition [FIRST | AFTER column_name]
 
  or    MODIFY [COLUMN] create_definition [FIRST | AFTER column_name]
 
  or    DROP [COLUMN] col_name
 
  or    DROP PRIMARY KEY
 
  or    DROP INDEX index_name
 
  or    DISABLE KEYS
 
  or    ENABLE KEYS
 
  or    RENAME [TO] new_tbl_name
 
  or    ORDER BY col
 
  or    table_options





% 필드 추가하기

mysql> alter table 테이블 add column 필드명 데이타형;

% 두개의 필드 추가하기

mysql> alter table 테이블 add column wdate,add column wtime time;

wdate date 날짜데이터 형
wtime time 시간데이터 형

% 한라인 입력
mysql>create table test(..............);

% 다중입력
mysql>create table test(
->num
->int,
->name
->varchar(10));
%필드 수정하기

alter table 테이블이름 rename 바꿀이름


% 필드 삭제

alter table 테이블명 drop 칼럼네임






-----------------------------------------------------------

새로운 필드 삽입시 이미 만들어진 필드 의 어느 부분에 넣으려고 합니다.

add lolumn 추가하려는 필드명 [first/after 필드명]이라구 적혀있더라구요..

alter table insa add column address char(20) first name;

이렇게 하니 에러가 나내요..어떻게 써야 하나요....

답변좀 부탁드립니다. 그럼감사..고맙습니다.


[답변]---------------------------------------------->

예로서 설명을 해드리지요...

------------------------------------
| filed |  type  | key | default |
------------------------------------
| year  |  int(11) | pri |    0    |
------------------------------------
| name  |varchar(8)| pri |    0    |
------------------------------------


 뭐 이런식으로  db 디자인이 되어있다면...

 여기다가 first/alter 를 이용하여 어느앞..어느뒤에다 넣을 것인지 쳐주면 됩니다...


 그러니까...이 테이블 이름이 님의 테이블처럼 insa 경우..

 alter table [테이블이름] add [컬럼정의부분] first;

->alter table insa add class int not null first;


 이렇게 쳐주시면 class라는 컬럼이 테이블 최상위로 올라간답니다.


 또 alter table insa add class int not null after year;


 이렇게 쳐주시면 year라는 컬럼뒤에 class라는 컬럼이 추가 되겠지요...^^

 제가 투덜이 책을 안봐서 모르겠지만...

 설명이 잘 되었으리라 생각이 듭니다...


 마지막으로 설마하는 맘으로...

 님의 경우에서 한번더 써드리지요...


 님이 쓰신글 -> alter table insa add column address char(20) first name;


 수정한 글  -> alter table insa add address char(20) first;

                        [테이블명] [컬럼명][컬럼타입]                             


 이렇게 써주셔야...테이블 최상위로 올라갑니다..^^

 만약 name이라는 컬럼 뒤에 넣고 싶다면...


 -> alter table insa add address char(20) after name;

출처 : http://qdata.co.kr/bo/bbs/board.php?bo_table=myt&wr_id=25

댓글목록

등록된 댓글이 없습니다.

1,139 (16/23P)

Search

Copyright © Cmd 명령어 18.191.215.117