MYSQL – 변경, 삭제, 이름 바꾸기, 수정

ALTER 명령이란 무엇입니까?

라는 말이 있듯이 변화는 계속된다

시간이 지남에 따라 비즈니스 요구 사항도 변경됩니다. 비즈니스 요구 사항이 변화함에 따라 데이터베이스 설계도 변경되어야 합니다.

MySQL 제공 바꾸다 우리에게 도움이 되는 기능 기존 데이터베이스 디자인에 변경 사항을 통합합니다..

alter 명령은 데이터베이스 수명 주기 동안 변경해야 할 수 있는 기존 데이터베이스, 테이블, 뷰 또는 기타 데이터베이스 개체를 수정하는 데 사용됩니다.

데이터베이스 설계를 완료하고 구현했다고 가정해 보겠습니다. 우리 데이터베이스 사용자는 이를 사용하다가 설계 단계에서 중요한 정보 중 일부가 누락되었음을 깨달았습니다. 그들은 기존 데이터를 잃고 싶지 않고 단지 새로운 정보를 통합하고 싶어합니다. 이러한 상황에서는 alter 명령이 유용합니다. alter 명령을 사용하여 필드의 데이터 유형을 문자열에서 숫자로 변경하거나 필드 이름을 새 이름으로 변경하거나 테이블에 새 열을 추가할 수도 있습니다.

변경 – 구문

이미 존재하는 테이블에 열을 추가하는 데 사용되는 기본 구문은 다음과 같습니다.

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

여기를 클릭하십시오.

  • "ALTER TABLE `테이블_이름`" 알려주는 명령이다 MySQL 서버에서 `table_name`이라는 테이블을 수정합니다.
  • "컬럼 `열_이름` `데이터_유형` 추가" 알려주는 명령이다 MySQL 'data_type' 데이터 유형을 사용하여 'column_name'이라는 새 열을 추가합니다.

마이플릭스가 온라인에 소개했다고 가정해보자 bill수신 및 결제. 이를 위해 회원 테이블에 신용카드 번호 필드를 추가해 달라는 요청을 받았습니다. ALTER 명령을 사용하여 이를 수행할 수 있습니다. 수정하기 전에 먼저 멤버 테이블의 구조를 살펴보겠습니다. 아래에 표시된 스크립트는 이를 수행하는 데 도움이 됩니다.

SHOW COLUMNS FROM `members`;
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

아래 표시된 스크립트를 사용하여 구성원 테이블에 새 필드를 추가할 수 있습니다.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

위 스크립트를 실행하면 MySQL Myflixdb에 대해 데이터 유형이 VARCHAR인 회원 테이블에 신용 카드 번호라는 새 열을 추가합니다. show columns 스크립트를 실행하면 다음과 같은 내용이 제공됩니다.wing 결과.

SHOW COLUMNS FROM `members`;
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
credit_card_number varchar(25) YES

반환된 결과에서 볼 수 있듯이 회원 테이블에 신용카드 번호가 추가되었습니다. 구성원의 데이터에 포함된 데이터는 새 열을 추가해도 영향을 받지 않습니다.

드롭 명령은 무엇입니까?

DROP 명령은 다음과 같이 사용됩니다.

  1. 다음에서 데이터베이스 삭제 MySQL 섬기는 사람
  2. 데이터베이스에서 개체(예: 테이블, 열)를 삭제합니다.

이제 DROP 명령을 사용하는 실제 예를 살펴보겠습니다.

Alter 명령에 대한 이전 예에서는 신용 카드 번호라는 열을 구성원 테이블에 추가했습니다.

온라인으로 가정해보자 bill기능을 실행하는 데 시간이 좀 걸리므로 신용 카드 항목을 삭제하고 싶습니다.

우리는 follo를 사용할 수 있습니다wing 스크립트

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

위 스크립트를 실행하면 구성원 테이블에서 Credit_card_number 열이 삭제됩니다.

이제 멤버 테이블의 열을 살펴보고 열이 삭제되었는지 확인하겠습니다.

SHOW COLUMNS FROM `members`;

위 스크립트를 실행하면 MySQL myflixdb에 대한 워크벤치는 다음과 같은 결과를 제공합니다.wing 결과.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

필드 목록에서 신용 카드 번호가 삭제되었습니다.

드롭 테이블

데이터베이스에서 테이블을 DROP하는 구문은 다음과 같습니다.

DROP TABLE `sample_table`;

예를 살펴보자

DROP TABLE `categories_archive`;

위 스크립트를 실행하면 `category_라는 테이블이 삭제됩니다.archive ` 우리 데이터베이스에서.

이름 바꾸기 명령은 무엇입니까?

이름 바꾸기 명령은 다음과 같이 사용됩니다. 기존 데이터베이스 개체(예: 테이블, 열)의 이름을 새 이름으로 변경합니다..

테이블 이름을 바꾸더라도 그 안에 포함된 데이터는 손실되지 않습니다.

통사론:-

이름 바꾸기 명령에는 다음이 있습니다.wing 기본 구문.

RENAME TABLE `current_table_name` TO `new_table_name`;

movierentals 테이블의 이름을 movie_rentals로 바꾸고 싶다고 가정하면 아래에 표시된 스크립트를 사용하여 이를 달성할 수 있습니다.

RENAME TABLE `movierentals` TO `movie_rentals`;

위 스크립트를 실행하면 테이블 'movierentals'의 이름이 'movie_rentals'로 변경됩니다.

이제 movie_rentals 테이블의 이름을 다시 원래 이름으로 바꿉니다.

RENAME TABLE `movie_rentals` TO `movierentals`;

키워드 변경

키워드 변경을 통해 다음을 수행할 수 있습니다.

  1. 열 이름 변경
  2. 열 데이터 유형 변경
  3. 열 제약 조건 변경

예를 살펴보겠습니다. 멤버 테이블의 전체 이름 필드는 varchar 데이터 유형이고 너비는 150입니다.

SHOW COLUMNS FROM `members`;

위 스크립트를 실행하면 MySQL myflixdb에 대한 워크벤치는 다음과 같은 결과를 제공합니다.wing 결과.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(150) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

우리가 원한다고 가정 해보자.

  1. 필드 이름을 "full_names"에서 "fullname"으로 변경합니다.
  2. 너비가 250인 char 데이터 유형으로 변경합니다.
  3. NOT NULL 제약 조건 추가

다음과 같이 변경 명령을 사용하여 이를 수행할 수 있습니다.

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

위 스크립트를 실행하면 MySQL myflixdb에 대해 워크벤치를 실행한 다음 위에 제공된 show columns 스크립트를 실행하면 다음과 같은 결과가 나타납니다.wing 결과.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(250) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

키워드 수정

MODIFY 키워드를 사용하면 다음을 수행할 수 있습니다.

  1. 열 데이터 유형 수정
  2. 열 제약 수정

위의 CHANGE 예에서는 필드 이름과 다른 항목도 변경해야 했습니다.tails. CHANGE 문에서 필드 이름을 생략하면 오류가 발생합니다. 필드 이름에 영향을 주지 않고 필드의 데이터 유형과 제약 조건만 변경하는 데 관심이 있다고 가정하면 MODIFY 키워드를 사용하여 이를 수행할 수 있습니다.

아래 스크립트는 "fullname" 필드의 너비를 250에서 50으로 변경합니다.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

위 스크립트를 실행하면 MySQL myflixdb에 대해 워크벤치를 실행한 다음 위에 제공된 show columns 스크립트를 실행하면 다음과 같은 결과가 나타납니다.wing 아래에 표시된 결과.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

키워드 이후

테이블의 특정 위치에 새 열을 추가한다고 가정해 보겠습니다.

AFTER 키워드와 함께 alter 명령을 사용할 수 있습니다.

아래 스크립트는 회원 테이블의 생년월일 바로 뒤에 "date_of_registration"을 추가합니다.

ALTER TABLE  `members` ADD  `date_of_registration` date NULL AFTER  `date_of_birth`;

위 스크립트를 실행하면 MySQL myflixdb에 대해 워크벤치를 실행한 다음 위에 제공된 show columns 스크립트를 실행하면 다음과 같은 결과가 나타납니다.wing 아래에 표시된 결과.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
date_of_registration date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

요약

  • alter 명령은 데이터베이스나 데이터베이스에 포함된 개체를 수정하려고 할 때 사용됩니다.
  • drop 명령은 데이터베이스를 삭제하는 데 사용됩니다. MySQL 섬기는 사람 또는 데이터베이스 내의 개체.
  • rename 명령은 테이블 이름을 새 테이블 이름으로 변경하는 데 사용됩니다.
  • Change 키워드를 사용하면 열 이름, 데이터 유형 및 제약 조건을 변경할 수 있습니다.
  • 수정 키워드를 사용하면 열 데이터 유형 및 제약 조건을 수정할 수 있습니다.
  • After 키워드는 테이블의 열 위치를 지정하는 데 사용됩니다.