[MySQL] 데이터베이스 기초 - 테이블 (Table) 정의
- 데이터베이스/MySQL
- 2022. 9. 22.
테이블 추가
DATA DEFINITION LANGUAGE (DDL)은 데이터베이스 테이블을 정의하기 위한 언어입니다. 데이터베이스는 여러 개의 테이블로 이루어져 있는 만큼 테이블 추가와 변경 삭제는 중요합니다. DDL은 테이블 구조를 변경하거나 새로 만들고 또 삭제할 수 있는 언어를 말합니다. MySQL에서 실제 테이블을 삭제하고 수정 삭제를 해보겠습니다.
▼ 테이블 생성 (Create)을 하려면 다음과 같이 컬럼들을 나열하고 기본키 설정 및 기본값 설정을 해줘야 합니다. 다양한 데이터 타입이 있는데 다른 글에서 따로 정리해보도록 하겠습니다. 또한 NOT NULL은 컬럼에 NULL 값 즉 빈 값을 넣을 수 없다는 의미가 됩니다.
▼ 다음은 예문입니다. 새로운 employees 데이터베이스를 생성하고 프라이머리 키를 emp_no로 설정합니다. gender와 같이 ENUM 값을 넣을 수도 있습니다. 해당 컬럼에는 'M' 또는 'F' 의 값만 넣을 수 있는 특징이 있습니다.
테이블 수정
▼ 테이블 수정 (Alter)은 이미 만들어진 테이블에 컬럼을 추가하거나 속성을 변경하는 경우에 사용됩니다. 또한 필요 없는 컬럼이 있다면 삭제도 가능합니다.
▼ employees 데이터베이스에 nickname 이라는 새로운 컬럼을 추가해보겠습니다. ADD 구문을 사용해 추가하며 varchar(10) 데이터형으로 지정했습니다.
▼ 다음은 컬럼을 수정할 때 쓰는 SQL 예시입니다.
▼ 실제 데이터를 수정해보겠습니다. first_name, last_name의 문자 저장 길이가 다른데요. 이를 똑같이 varchar(16)으로 수정해보겠습니다. 다음과 같이 ALTER COLUMN 구문을 사용해서 first_name의 데이터 타입을 변경할 수 있습니다. 뿐만 아니라 기본값이 없거나 NOT NULL 설정도 동시에 가능합니다.
▼ 이번엔 테이블에서 쓸모 없어진 컬럼을 제거해보겠습니다. 제거는 간단합니다. DROP COLUMN 을 사용해서 제거합니다.
▼ 처음에 ADD 컬럼을 통해 추가한 nickname을 제거해보겠습니다.
▼ 다음은 컬럼의 디폴트 값을 변경하는 예제입니다.
▼ nickname의 기본값을 '이름없음'으로 변경해보겠습니다. 이제부터는 행추가시 nickname 값을 할당하지 않으면 기본값으로 '이름없음' 데이터가 자동으로 추가됩니다.
테이블 삭제
▼ 테이블 삭제 (Delete) 테이블의 삭제는 주의하여야 하는 명령어입니다. 만약 테이블이 필요 없다면 삭제를 해줘야 하는데 다음과 같이 테이블 삭제가 가능합니다.
▼ 실제 조금 전에 만든 데이터베이스 employees를 삭제해보겠습니다.
'데이터베이스 > MySQL' 카테고리의 다른 글
[MySQL] max_connection 최대 접속 인원 늘리기 (0) | 2022.09.28 |
---|---|
[MySQL] 맥 MySQL 설치 후 터미널 PATH 경로 설정 (0) | 2022.09.23 |
[MySQL] 데이터베이스 기초 - 인덱스 (Index) (2) | 2022.09.15 |
[MySQL] 쿼리 sql_mode=only_full_group_by 문제 해결하기 (0) | 2022.08.29 |
[MySQL] 실리콘 M1 맥에 MySQL 커뮤니티 버전 설치 및 비밀번호 설정 (0) | 2022.04.15 |