T

ALTER 테이블 추가,변경

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건
+
제목 글쓴이 날짜 조회
05-08-01 조회 4,026
05-07-24 조회 5,399
05-07-16 조회 5,504
bbbking
05-07-08 조회 3,332
bbbking
05-07-08 조회 3,131
bbbking
05-07-08 조회 8,767
05-07-01 조회 3,318
05-06-30 조회 4,696
05-06-24 조회 5,162
05-06-24 조회 3,398
05-06-21 조회 6,802
05-06-17 조회 4,631
05-06-15 조회 5,444
05-05-04 조회 3,686
05-04-11 조회 4,785
05-04-04 조회 5,201
05-04-02 조회 3,589
05-03-30 조회 3,294
05-03-15 조회 3,445
05-03-15 조회 3,125
05-03-14 조회 2,606
05-03-13 조회 2,815
05-03-13 조회 2,962
05-03-13 조회 2,792
05-03-13 조회 3,034
05-03-13 조회 4,628
05-03-13 조회 3,171
05-03-13 조회 2,598
05-03-13 조회 2,623
05-03-13 조회 2,483
05-03-13 조회 3,659
05-03-13 조회 2,691
05-03-13 조회 2,700
05-03-13 조회 3,213
05-03-13 조회 3,484
05-03-13 조회 3,075
05-03-13 조회 3,027
05-03-13 조회 3,707
05-03-13 조회 2,647
05-03-13 조회 4,154
05-03-13 조회 2,869
05-03-13 조회 3,224
05-03-13 조회 2,698
05-03-13 조회 3,880
05-03-13 조회 2,562
05-03-12 조회 4,897
05-02-04 조회 3,475
04-12-13 조회 7,103
04-12-01 조회 3,379
04-11-30 조회 3,450
04-11-30 조회 2,788
04-11-30 조회 2,689
04-11-30 조회 4,092
04-11-29 조회 3,827
04-11-28 조회 3,762
04-11-28 조회 4,122
04-11-28 조회 3,546
04-11-28 조회 3,043
04-11-28 조회 3,583
04-11-24 조회 3,253
04-11-23 조회 3,037
04-11-17 조회 3,042
04-11-12 조회 3,328
04-11-12 조회 2,675
04-11-10 조회 3,903
04-08-23 조회 4,417
04-08-09 조회 5,068
04-08-08 조회 4,806
04-08-05 조회 6,597
03-09-26 조회 5,255