Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 테이블에서 열을 삭제하는 방법은 무엇입니까?

<시간/>

ALTER 명령을 사용하여 테이블에서 열을 삭제할 수 있습니다. 테이블을 만들고 그 안의 일부 열을 삭제해야 하는 요구 사항이 있다고 가정해 보겠습니다. ALTER 및 DRO[ 명령을 사용하여 이를 달성할 수 있습니다.

예를 들어 보겠습니다. 먼저 테이블을 생성하겠습니다.

mysql> create table DeleteColumnNameDemo
   -> (
   -> Id int,
   -> Name varchar(200),
   -> Age int,
   -> Address varchar(200)
   -> );
Query OK, 0 rows affected (0.59 sec)

위에서 4개의 열이 있는 테이블을 만들었습니다. 다음은 테이블에 대한 모든 세부 정보를 볼 수 있는 쿼리입니다.

mysql> desc DeleteColumnNameDemo;

다음은 출력입니다.

+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| Id      | int(11)      | YES  |     | NULL    |       |
| Name    | varchar(200) | YES  |     | NULL    |       |
| Age     | int(11)      | YES  |     | NULL    |       |
| Address | varchar(200) | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

이제 테이블에 4개의 열이 있습니다. 이제 열을 삭제하는 구문을 살펴보겠습니다. 구문은 다음과 같습니다.

alter table yourTableName
drop column yourColumnName1,
drop column yourColumnName2,
.
.
.
drop column yourColumnNameN,

이제 "DeleteColumnNameDemo" 테이블에서 "Age" 및 "Address" 열을 삭제해 보겠습니다. 위의 구문을 적용하여 열을 삭제합니다. 쿼리는 다음과 같습니다.

mysql> ALTER table DeleteColumnNameDemo
   -> drop column Age,
   -> drop column Address;
Query OK, 0 rows affected (3.11 sec)
Records: 0  Duplicates: 0  Warnings: 0

테이블에서 Age 및 Address 열을 모두 삭제했습니다. 이제 DESC 명령을 사용하여 열이 삭제되었는지 여부를 확인하겠습니다.

mysql> desc DeleteColumnNameDemo;

다음은 출력입니다. 이전에 삭제했기 때문에 "나이"와 "주소" 두 열을 볼 수 없습니다.

+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| Id    | int(11)      | YES  |     | NULL    |       |
| Name  | varchar(200) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.05 sec)