Oracle, MySQL, Damon 데이터베이스 신규 수정 삭제 필드

2474 단어 Oraclemysql달몽
Oracle
만약 테이블 이름이 tb, 필드 이름이name, 데이터 형식 nchar (20) 이라면.
1. 필드 데이터가 비어 있다고 가정하면 필드 형식을 바꾸든지 상관없이 직접 실행할 수 있습니다
alter table tb modify (name nvarchar2(20));

2. 필드에 데이터가 있다고 가정하면 nvarchar2(20)로 변경하여 직접 실행할 수 있습니다
alter table tb modify (name nvarchar2(20));

3. 필드에 데이터가 있다고 가정하면varchar2(40)로 변경하면 팝업됩니다. "ORA-01439: 데이터 형식을 변경하려면 수정할 열이 비어야 합니다."이럴 때 아래의 방법으로 이 문제를 해결해야 합니다.
/*      name name_tmp*/
alter table tb rename column name to name_tmp;
 
/*              name*/
alter table tb add name varchar2(40);
 
/*    name_tmp          name*/
update tb set name=trim(name_tmp);
 
/*   ,     name_tmp*/
alter table tb drop column name_tmp;

4. 총결산1) 필드에 데이터가 없거나 수정할 새로운 형식이 원래 형식과 호환될 때 직접modify로 수정할 수 있다.2) 필드에 데이터가 있고 수정할 새 유형과 원래 유형이 호환되지 않을 경우 간접적으로 새 필드를 이동합니다.
2MySQL
1. 필드 추가
alter table table_name add column col_name_add varchar(20);

2. 필드 이름 수정
alter table table_name change column col_name_old col_name_new varchar(20);

3. 필드 유형 및 길이 수정
alter table table_name modify col_name varchar(20);

4. 필드 삭제
alter table table_name drop column col_name;

삼달몽
예제
/**       T_CONTENT   T_CONTENT_TEMP    T_CONTENT   varchar(4000)*/
alter table "    "."  " rename column T_CONTENT to T_CONTENT_TEMP;

/**                 T_CONTENT */
alter table "    "."  " add T_CONTENT varchar(8000);

/**      T_CONTENT_TEMP           T_CONTENT  */
update "    "."  " set T_CONTENT =trim(T_CONTENT_TEMP);

/**    ,      T_CONTENT_TEMP */
alter table "    "."  " drop column T_CONTENT_TEMP;

commit;

주: (수정 추가 삭제)와oracle의 기본은 같습니다. 위의 예시와 같이varchar 형식이라면 직접 수정할 수 있습니다. 위name 번거로움이 필요 없습니다. 아래와 같습니다.
alter table "    "."  " modfiy T_CONTENT varchar(8000);

위에서 주로varchar 유형이text 유형으로 전환되었다고 말하고 싶었지만 잘못 보고하면 필드를 바꾸는 방법을 사용해 보았지만 잘못 보고했습니다. 관리 도구에서 수정하지 않고 SQL 문장을 사용하지 않으면 어쩔 수 없습니다. 하지만 방법이 옳습니다. 참고할 수 있습니다. 오류는 다음과 같습니다.
[    1]:
alter table "    "."  " modify T_CONTENT text;
    (  1)
 1        [-6160]:
         

1       
alter table "    "."  " add T_CONTENT text;
    (  1)
 1        [-3243]:
 [  ]         KEY    

1       

 

좋은 웹페이지 즐겨찾기