T

ALTER 테이블 추가,변경

· 2005-03-13 (일) 18:33:57 · 7896
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;<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:27:00 MySQL에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
06-05-31 조회 4,149
06-05-31 조회 4,374
06-05-30 조회 3,404
06-05-26 조회 4,501
06-05-26 조회 4,788
06-05-15 조회 4,520
06-05-14 조회 5,754
06-05-12 조회 3,191
06-05-11 조회 4,599
06-05-11 조회 2,746
06-05-11 조회 2,855
06-05-11 조회 2,577
06-05-11 조회 2,853
06-05-11 조회 2,433
06-05-11 조회 2,979
06-05-10 조회 3,460
06-05-09 조회 8,140
06-05-09 조회 3,355
06-05-09 조회 3,455
06-05-07 조회 3,938
06-05-07 조회 3,037
06-05-07 조회 3,665
06-04-29 조회 3,681
06-04-28 조회 4,578
06-04-25 조회 3,488
06-04-25 조회 3,774
06-04-25 조회 3,573
06-04-22 조회 3,220
06-04-13 조회 4,522
06-04-13 조회 4,384
06-04-09 조회 3,356
06-03-30 조회 4,787
06-03-24 조회 3,613
06-03-21 조회 3,605
06-03-15 조회 4,627
06-03-11 조회 3,231
06-03-03 조회 3,484
06-02-22 조회 3,284
06-01-27 조회 3,455
06-01-05 조회 3,528
05-12-30 조회 3,385
05-12-29 조회 3,879
bbbking
05-10-22 조회 5,331
05-08-19 조회 5,534
05-08-16 조회 3,566
05-07-13 조회 4,759
05-07-11 조회 3,901
05-07-01 조회 3,503
05-07-01 조회 3,109
05-07-01 조회 3,577
bbbking
05-06-30 조회 6,285
bbbking
05-06-16 조회 6,862
05-04-04 조회 6,395
05-03-13 조회 3,284
05-03-13 조회 2,354
05-03-13 조회 2,514
04-12-16 조회 5,812
04-11-29 조회 4,186
04-11-28 조회 3,984
04-11-28 조회 3,185
04-11-28 조회 3,874
04-11-28 조회 3,601
04-11-24 조회 3,040
04-11-12 조회 3,031
04-08-24 조회 5,318
04-08-10 조회 4,507
04-08-10 조회 5,112