우 육시 엉 - 타고난 MySQL의 연구 노트 : MySQL의 ALTER 명령

필요가 데이터 테이블 또는 수정 데이터 테이블의 필드를 수정하면 MySQL의 ALTER 명령을 사용해야합니다.
루트 @ 호스트 #의 MySQL의 -u 루트 -p 암호; 
비밀번호를 입력 : ******* 
mysql을 > 사용 RUNOOB;
데이터베이스 변경
MySQL의 > 표 testalter_tbl를 생성
     -> (
     -> I INT,
     -> CHAR C (1 )
     -> );
쿼리 확인, 0 행이 영향 ( 0.05 초)
MySQL의 > testalter_tbl FROM COLUMNS 보여준다;
+ ------- + --------- + ------ + ----- + --------- + ------- +
| 필드 | 입력 | 널 | 키 | 기본 | 추가 |
+ ------- + --------- + ------ + ----- + --------- + ------- +
| 내가 | INT (11) | YES | | NULL | |
| C | CHAR (1) | YES | | NULL | |
+ ------- + --------- + ------ + ----- + --------- + ------- +
추가 또는 필드의 테이블을 수정, 삭제
나는 테이블을 생성하는 조항을 삭제 ALTER DROP 명령보다 다음 명령 필드와 이상을 사용 :
MySQL의 > ALTER TABLE 내가 몸값 testalter_tbl;
테이블의 데이터가 하나 개의 필드에 남아있는 경우에 당신은 필드를 삭제하기 위해 DROP을 사용할 수 없습니다.

나는 테이블에 필드 testalter_tbl 다음 예제를 추가, 데이터 테이블에 열을 추가 절 ADD에서 MySQL을 사용, 데이터 유형 및 정의 :
MySQL의 > ALTER TABLE 내가 INT에게 ADD testalter_tbl;
상기 명령을 실행 한 후, 필드 자동 필드 데이터 테이블의 끝에 추가된다.
MySQL의 > testalter_tbl FROM COLUMNS 보여준다;
+ ------- + --------- + ------ + ----- + --------- + ------- +
| 필드 | 입력 | 널 | 키 | 기본 | 추가 |
+ ------- + --------- + ------ + ----- + --------- + ------- +
| C | CHAR (1) | YES | | NULL | |
| 내가 | INT (11) | YES | | NULL | |
+ ------- + --------- + ------ + ----- + --------- + ------- +
새 필드의 위치를 ​​지정해야하는 경우 (위치 필드를 설정 한 후) 필드 이름 AFTER FIRST MySQL이 제공하는 키워드 (첫 번째 열의 세트 비트)를 사용할 수 있습니다.
다음 ALTER TABLE 문을 시도 성공적인 구현 한 후, 사용 SHOW 열이 변경 테이블 구조를 참조하십시오
ALTER TABLE 내가 몸값 testalter_tbl;
ALTER INT 우선 표 testalter_tbl의 ADD;
ALTER TABLE 내가 몸값 testalter_tbl;
ALTER TABLE은 C 후에 내가 INT를 ADD testalter_tbl;

FIRST 및 키워드 후에는 필드를 추가하고 ADD를 사용하여 위치를 설정 한 후 필드를 삭제 DROP을 사용할 필요의 데이터 테이블 필드의 위치를 ​​재설정 할 그렇다면, ADD 및 MODIFY 절에 사용할 수 있습니다.
필드 타입과 이름을 수정
이 필드 유형과 이름을 수정해야하는 경우 ALTER 명령에 수정하거나 변경 절을 사용할 수 있습니다.
예를 들어, CHAR에서 (타입의 필드 다 . CHAR 1) (10 ) 다음 명령을 실행
MySQL의 > ALTER TABLE testalter_tbl MODIFY C 형 CHAR (10 );

사용 CHANGE 절 문법은 매우 다릅니다. 필드 이름 다음에 변경 키워드 후 수정 한 다음 새 필드 이름과 유형을 지정해야한다. 다음의 예를보십시오 :
MySQL의 > ALTER BIGINT IJ 표 testalter_tbl 변경;
MySQL의 > ALTER TABLE의 testalter_tbl 변경 JJ의 INT;
NULL 값과 기본 값에 대한 ALTER TABLE에 미치는 영향
필드를 수정하는 경우, 기본 값을 설정할지 여부 또는 값을 포함할지 여부를 지정할 수 있습니다.
다음 예, j는 지정된 필드 NOT NULL 및 기본값은 100입니다.
MySQL의 > ALTER 표에 testalter_tbl 
     -> MODIFY J BIGINT NOT NULL의의 DEFAULT (100) ;
당신이 디폴트 값을 설정하지 않으면, MySQL은 자동으로 NULL로 필드의 기본값을 설정합니다.
필드 기본값을 수정
ALTER이 필드의 기본값을 수정하는 데 사용할 수 있습니다, 다음 예를보십시오 :
MySQL의 > ALTER TABLE testalter_tbl ALTER i 서 SET의 DEFAULT 1000 ;
MySQL의 > testalter_tbl FROM COLUMNS 보여준다;
+ ------- + --------- + ------ + ----- + --------- + ------- +
| 필드 | 입력 | 널 | 키 | 기본 | 추가 |
+ ------- + --------- + ------ + ----- + --------- + ------- +
| C | CHAR (1) | YES | | NULL | |
| 내가 | INT (11) | YES | | 1000 | |
+ ------- + --------- + ------ + ----- + --------- + ------- +
또한 삭제 필드, 다음 예와 기본 가치와 DROP 절 ALTER 명령을 사용할 수 있습니다 :
MySQL의 > ALTER TABLE testalter_tbl ALTER 내가 DROP의 DEFAULT;
MySQL의 > testalter_tbl FROM COLUMNS 보여준다;
+ ------- + --------- + ------ + ----- + --------- + ------- +
| 필드 | 입력 | 널 | 키 | 기본 | 추가 |
+ ------- + --------- + ------ + ----- + --------- + ------- +
| C | CHAR (1) | YES | | NULL | |
| 내가 | INT (11) | YES | | NULL | |
+ ------- + --------- + ------ + ----- + --------- + ------- +
데이터 테이블 유형을 수정하고 마무리 TYPE 절에 ALTER 명령을 사용할 수 있습니다. 테이블 testalter_tbl의 유형 MYISAM과 같이 개정을 다음의 예를보십시오 :
참고 : 데이터 테이블 유형은 테이블 표시 상태 문을 사용할 수 있습니다 참조하십시오.
MySQL의 > ALTER 표 testalter_tbl 엔진 = MYISAM;
MySQL의 > 테이블 표시 STATUS LIKE ' testalter_tbl ' \ G
 *************************** 1. 행 ********* *******
           이름 : testalter_tbl
           유형 :의 MyISAM
     ROW_FORMAT : 고정
           행 : 0
 AVG_ROW_LENGTH : 0
    의 data_length : 0
Max_data_length : 25769803775 
   Index_length : 1024
      Data_free : 0
 AUTO_INCREMENT : NULL
    CREATE_TIME : 2007년 6월 3일 8시 4분 36초 
    UPDATE_TIME : 2007년 6월 3일 8시 4분 36초
     Check_time : NULL
 Create_options :
        논평:
테이블 이름을 수정
당신은 데이터 테이블의 이름을 수정해야하는 경우, 당신은 달성하기 위해 ALTER TABLE 문에서 RENAME 절을 사용할 수 있습니다.
다음 예는 데이터 테이블 testalter_tbl의 alter_tbl의 이름을 변경하려고 :
MySQL의 > ALTER TABLE testalter_tbl의 이름을 바꾸려면의 alter_tbl;
ALTER 명령은 생성과 삭제 MySQL의 데이터 테이블의 인덱스 할 수 있습니다

 

추천

출처www.cnblogs.com/tszr/p/12114434.html