T

ALTER 테이블 추가,변경

· 2005-03-13 (일) 18:33:57 · 7888
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 조회 3,941
05-07-24 조회 5,330
05-07-16 조회 5,428
bbbking
05-07-08 조회 3,244
bbbking
05-07-08 조회 3,064
bbbking
05-07-08 조회 8,692
05-07-01 조회 3,255
05-06-30 조회 4,625
05-06-24 조회 5,098
05-06-24 조회 3,338
05-06-21 조회 6,722
05-06-17 조회 4,542
05-06-15 조회 5,365
05-05-04 조회 3,593
05-04-11 조회 4,705
05-04-04 조회 5,121
05-04-02 조회 3,515
05-03-30 조회 3,216
05-03-15 조회 3,353
05-03-15 조회 3,037
05-03-14 조회 2,533
05-03-13 조회 2,742
05-03-13 조회 2,887
05-03-13 조회 2,723
05-03-13 조회 2,970
05-03-13 조회 4,561
05-03-13 조회 3,104
05-03-13 조회 2,532
05-03-13 조회 2,556
05-03-13 조회 2,417
05-03-13 조회 3,596
05-03-13 조회 2,632
05-03-13 조회 2,648
05-03-13 조회 3,128
05-03-13 조회 3,409
05-03-13 조회 3,002
05-03-13 조회 2,943
05-03-13 조회 3,633
05-03-13 조회 2,578
05-03-13 조회 4,075
05-03-13 조회 2,797
05-03-13 조회 3,161
05-03-13 조회 2,638
05-03-13 조회 3,823
05-03-13 조회 2,500
05-03-12 조회 4,826
05-02-04 조회 3,410
04-12-13 조회 7,015
04-12-01 조회 3,322
04-11-30 조회 3,395
04-11-30 조회 2,709
04-11-30 조회 2,605
04-11-30 조회 4,020
04-11-29 조회 3,751
04-11-28 조회 3,676
04-11-28 조회 3,969
04-11-28 조회 3,440
04-11-28 조회 2,958
04-11-28 조회 3,516
04-11-24 조회 3,171
04-11-23 조회 2,970
04-11-17 조회 2,958
04-11-12 조회 3,250
04-11-12 조회 2,603
04-11-10 조회 3,839
04-08-23 조회 4,276
04-08-09 조회 4,993
04-08-08 조회 4,694
04-08-05 조회 6,521
03-09-26 조회 5,175