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,017
05-07-24 조회 5,396
05-07-16 조회 5,500
bbbking
05-07-08 조회 3,325
bbbking
05-07-08 조회 3,128
bbbking
05-07-08 조회 8,763
05-07-01 조회 3,313
05-06-30 조회 4,692
05-06-24 조회 5,161
05-06-24 조회 3,395
05-06-21 조회 6,798
05-06-17 조회 4,627
05-06-15 조회 5,440
05-05-04 조회 3,678
05-04-11 조회 4,784
05-04-04 조회 5,197
05-04-02 조회 3,586
05-03-30 조회 3,292
05-03-15 조회 3,432
05-03-15 조회 3,121
05-03-14 조회 2,604
05-03-13 조회 2,812
05-03-13 조회 2,960
05-03-13 조회 2,789
05-03-13 조회 3,032
05-03-13 조회 4,624
05-03-13 조회 3,168
05-03-13 조회 2,595
05-03-13 조회 2,622
05-03-13 조회 2,481
05-03-13 조회 3,655
05-03-13 조회 2,688
05-03-13 조회 2,697
05-03-13 조회 3,208
05-03-13 조회 3,476
05-03-13 조회 3,074
05-03-13 조회 3,024
05-03-13 조회 3,703
05-03-13 조회 2,643
05-03-13 조회 4,144
05-03-13 조회 2,864
05-03-13 조회 3,219
05-03-13 조회 2,696
05-03-13 조회 3,876
05-03-13 조회 2,558
05-03-12 조회 4,892
05-02-04 조회 3,471
04-12-13 조회 7,098
04-12-01 조회 3,377
04-11-30 조회 3,449
04-11-30 조회 2,787
04-11-30 조회 2,687
04-11-30 조회 4,089
04-11-29 조회 3,826
04-11-28 조회 3,759
04-11-28 조회 4,120
04-11-28 조회 3,542
04-11-28 조회 3,042
04-11-28 조회 3,580
04-11-24 조회 3,249
04-11-23 조회 3,036
04-11-17 조회 3,040
04-11-12 조회 3,327
04-11-12 조회 2,672
04-11-10 조회 3,897
04-08-23 조회 4,412
04-08-09 조회 5,066
04-08-08 조회 4,802
04-08-05 조회 6,595
03-09-26 조회 5,254