>  기사  >  데이터 베이스  >  MySQL ALTER 명령의 예 공유

MySQL ALTER 명령의 예 공유

零下一度
零下一度원래의
2017-05-16 10:35:401111검색

데이터 테이블 이름을 수정하거나 데이터 테이블 필드를 수정해야 하는 경우 MySQL ALTER 명령을 사용해야 합니다.

이 튜토리얼을 시작하기 전에 먼저 testalter_tbl이라는 테이블을 생성해 보겠습니다.

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
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 절을 사용하여 위에서 생성된 테이블의 i 필드를 삭제합니다.

mysql> ALTER TABLE testalter_tbl  DROP i;

If in 데이터 테이블 필드가 하나만 남아 있으면 DROP을 사용하여 필드를 삭제할 수 없습니다.

ADD 절은 MySQL에서 데이터 테이블에 열을 추가하는 데 사용됩니다. 다음 예에서는 testalter_tbl 테이블에 i 필드를 추가하고 데이터 유형:

mysql> ALTER TABLE testalter_tbl ADD i INT;
위의 명령을 실행하면 데이터 테이블 필드 끝에 i 필드가 자동으로 추가됩니다.

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(첫 번째 열에 설정) 및 AFTER 필드 이름(특정 필드 뒤에 설정)을 사용할 수 있습니다.

다음 ALTER TABLE 문을 실행해 보세요. 성공적으로 실행한 후 SHOW COLUMNS를 사용하여 테이블 구조의 변경 사항을 확인하세요.

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 및 AFTER 키워드는 ADD 절에만 사용됩니다. 반복하려는 경우 데이터 테이블 필드의 위치를 ​​설정하려면 먼저 DROP을 사용하여 필드를 삭제한 다음 ADD를 사용하여 필드를 추가하고 위치를 설정해야 합니다.

필드 유형 및 이름 수정

필드 유형 및 이름을 수정해야 하는 경우 ALTER 명령에 MODIFY 또는 CHANGE 절을 사용할 수 있습니다.

예를 들어 c 필드의 유형을 CHAR(1)에서 CHAR(10)으로 변경하려면 다음 명령을 실행할 수 있습니다.

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

CHANGE 절을 사용하면 구문이 매우 다른. CHANGE 키워드 뒤에 수정하려는 필드 이름을 따른 다음 새 필드의 유형과 이름을 지정합니다. 다음 예를 시도해 보세요.

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

ALTER TABLE이 Null 값과 기본값에 미치는 영향

필드를 수정할 때 필드만 포함할지 또는 기본값을 설정할지 여부를 지정할 수 있습니다.

다음 예에서 지정된 필드 j는 NOT NULL이고 기본값은 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으로 변경합니다.

참고: SHOW TABLE STATUS 문을 사용하여 데이터 테이블 유형을 볼 수 있습니다.

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: 0Max_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 절을 사용할 수 있습니다.

데이터 테이블 testalter_tbl의 이름을 alter_tbl로 바꾸려면 다음 예를 시도해 보십시오.

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

ALTER 명령을 사용하여 MySQL 데이터 테이블의

index를 생성하고 삭제할 수도 있습니다. 다음 장에서 소개된 이 기능을 사용하겠습니다.

【관련 추천】


1.

특별 추천: "php Programmer Toolbox" V0.1 버전 다운로드

2.

무료 mysql 온라인 동영상 튜토리얼

3.

데이터베이스 설계에 관한 것들

위 내용은 MySQL ALTER 명령의 예 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.