최고의 MySQL의 ALTER 명령 튜토리얼 2024년, 이 튜토리얼에서는 삭제, 추가 또는 테이블의 필드를 수정,필드 이름을 수정하고 입력,널 및 기본 값에 대한 ALTER TABLE의 효과,기본 필드 값을 수정,테이블 이름을 수정,를 배울 수 있습니다.
우리는 데이터 테이블을 수정하거나 데이터 테이블의 필드를 수정해야하는 경우, 당신은 MySQL의 ALTER 명령을 사용해야합니다.
testalter_tbl :이 장 시작하기 전에 튜토리얼은 우리가 테이블, 테이블 이름을 만들 수 있습니다.
root@host# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
다음 명령은 ALTER 사용하고 DROP 절은 명령 표 필드 위에서 만든 삭제 :
mysql> ALTER TABLE testalter_tbl DROP i;
테이블의 데이터가 하나의 필드에 남아있는 경우에 당신은 필드를 삭제하려면 DROP을 사용할 수 없습니다.
MySQL은 테이블에있는 필드의 예 내가 testalter_tbl 및 데이터 유형을 정의 추가로 열, 데이터 시트를 원하는 추가하려면 ADD 절을 사용 :
mysql> ALTER TABLE testalter_tbl ADD i INT;
상기 명령을 실행 한 후에, 필드는 자동적으로 데이터 테이블 필드의 끝에 추가된다.
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
당신은 (필드에있는 설정을 한 후) 새 필드의 위치를 지정해야하는 경우에는 MySQL이 필드 이름 뒤에 키워드 FIRST (첫 번째 열의 세트 비트)를 제공 할 수 있습니다.
성공적인 구현 한 후, 사용 SHOW 열이 변경 테이블 구조를 보려면, 다음 ALTER TABLE 문을보십시오 :
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
FIRST 만 ADD 절에 대한 키워드 AFTER, 그래서 당신이 필드를 추가하고 위치를 설정 ADD DROP이 필드를 삭제 사용하고 사용의 필요성에 데이터 테이블 필드의 위치를 재설정하려는 경우.
이 필드 유형과 이름을 수정해야하는 경우 변경을 사용하거나 ALTER 명령의 조항을 수정할 수 있습니다.
예를 들어, CHAR에서 유형 필드 C (1) (10) CHAR하려면 다음 명령을 실행할 수 있습니다 :
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
사용 CHANGE 절 문법은 매우 다르다. 변경 키워드 후 수정 한 다음 새 필드 이름과 유형을 지정할 필드 이름 하였다. 다음 예를보십시오 :
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
이 필드를 수정할 때 포함 여부 만 기본값을 설정할지 여부를 지정할 수 있습니다.
다음의 예는, 지정된 필드 j는 NULL NOT이며, 기본값은 100입니다.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
당신이 디폴트 값을 설정하지 않으면, MySQL은 자동으로 NULL로 필드의 기본값을 설정합니다.
당신은 ALTER 필드의 기본값을 수정하여 사용할 수 있으며,하기의 실시 예를보십시오
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
또한 예로서, 필드를 삭제하는 기본 명령 ALTER 및 DROP 절을 사용할 수 있습니다 :
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
데이터 테이블 유형을 수정 ALTER 명령과 TYPE 절을 사용하여 수행 할 수 있습니다. 우리는 테이블 testalter_tbl의 MYISAM의 유형을 수정합니다, 다음 예를보십시오 :
참고 : 데이터 테이블 유형은 테이블 표시 상태 문을 사용할 수 있습니다 참조하십시오.
mysql> ALTER TABLE testalter_tbl TYPE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
당신은 데이터 테이블의 이름을 수정해야하는 경우, 당신은 달성하기 위해 ALTER TABLE 문에서 RENAME 절을 사용할 수 있습니다.
alter_tbl의 이름을 변경 testalter_tbl 데이터 테이블의 다음 예를보십시오 :
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
ALTER 명령은 또한, 우리는 다음 장에서 소개합니다이 기능을 작성하고 인덱스를 MySQL의 데이터 테이블을 삭제하는 데 사용할 수 있습니다.