[MySQL] Data Definition Lanaguage (데이터 정의 언어)

김재현·2022년 9월 15일
0

sql

목록 보기
4/12
post-thumbnail

MySQL에서 데이터 정의 언어(DDL : Data Definition Lanaguage)를 실습해보았습니다.

1. 생성

1.1 데이터베이스 생성

# 데이터베이스 목록 확인
SHOW DATABASES;

SHOW DATABASES를 활용하면 현재 데이터베이스의 목록에는 어떠한 것들이 있는지 확인해볼 수 있습니다. 우리는 실습을 위해 새로운 데이터베이스를 만들고자 합니다.

# 데이터베이스 생성
CREATE DATABASE databasename;

# 데이터베이스 생성 및 기본 자료형 설정
CREATE DATABASE databasename DEFAULT CHARACTER SET utf8mb4;

CREATE DATABASE로 데이터베이스를 생성할 수 있는데 뒤에 조건을 입력하여 기본 자료형을 설정할 수 있습니다. 생성 후 SHOW DATABASES를 입력하여 생성된 데이터베이스를 확인할 수 있습니다.

1.2 테이블 및 컬럼 생성

# 데이터베이스 접근
USE databasename;

# 테이블 목록 조회
SHOW TABLES;

USE mydb로 위에서 생성했던 데이터베이스에 접근하였습니다. 그리고 SHOW TABLE을 입력하여 mydb 데이터베이스 안에 테이블들이 어떠한 것들이 있는지 확인했습니다. 아직 테이블을 생성하지 않았기 때문에 'Empty set'이라는 메시지를 확인할 수 있습니다.

# 테이블 생성
CREATE TABLE tablename
(
 columnname datatype,
 columnname datatype,
 ...
)

# 테이블 생성 (with 조건)
CREATE TABLE tablename
(
 columnname datatype NOT NULL AUTO_INCREMENT PRIMATY KEY,  
 columnname datatype NOT NULL DEFAULT '', 
 ...
)

CREATE TABLE 명령어로 테이블을 생성할 수 있습니다. 컬럼명을 입력한 이후에는 사용하고자 하는 데이터 타입을 지정해주어야 합니다.

다시 SHOW TABLES를 입력하면 아까와 달리 'Empty set'이라는 메시지가 뜨지 않고 테이블의 목록을 확인해볼 수 있습니다.

# 테이블 세부정보 조회
DESC tablename; 

DESC tablename을 입력하면 위에서 지정했던 데이터타입을 비롯한 세부 정보들을 조회할 수 있습니다.


2. 변경

2.1 테이블명 변경

# 테이블 변경(필수)
ALTER TABLE tablename

# 테이블 이름 변경
RENAME new_tablename;

ALTER TABLE 뒤에 RENAME 명령어를 사용하여 기준에 만들었던 테이블의 이름을 변경할 수 있습니다. 위의 이미지를 보면 'old_table' 테이블이 'new_table'로 이름이 변경된 것을 확인해 볼 수 있습니다.

2.2 컬럼명 변경

# 테이블 변경(필수)
ALTER TABLE tablename

# 컬럼명 변경 + 데이터 타입 변경
CHANGE COLUMN old_columnname new_columnname new_datatype;

컬럼명을 변경하는 방법은 ALTER TABLE 뒤에 CHANGE COLUMN 명령어를 사용하여 해결할 수 있습니다. 데이터타입을 그대로 사용하려면 그대로 입력하면 되고, 변경하고 싶다면 사용하고자 하는 데이터타입을 입력하면 이름과 함께 변경됩니다.

2.3 컬럼 데이터타입 변경

# 테이블 변경(필수)
ALTER TABLE tablename

# 컬럼 데이터타입 변경
MODIFY COLUMN columnname datatype;

컬럼명을 건드리지 않고 데이터타입만 변경하고 싶다면 ALTER TABLE 뒤에 MODYFY COLUMN 명령어를 입력하면 됩니다.

2.4 컬럼 추가 및 삭제

# 테이블 변경(필수)
ALTER TABLE tablename

# 컬럼 추가
ADD COLUMN columnname datatype;

# 컬럼 삭제
DROP COLUMN columnname;

이 이외에도 ADD COLUMN으로 컬럼을 생성할 수도 있고, DROP COLUMN으로 컬럼을 삭제할 수 있습니다.


3. 삭제

3.1 컬럼 삭제

# 컬럼 삭제
ALTER TABLE tablename
DROP COLUMN columnname;

바로 위에서 언급을 했듯이 ALTER TALBE과 함게 DROP COLUMN을 입력하여 컬럼을 삭제할 수 있습니다.

3.2 테이블 삭제

# 테이블 삭제
DROP TABLE tablename;

DROP TABLE로 테이블을 삭제한 후 SHOW TABLES로 테이블의 목록을 조회해보면 'Empty set' 메시지를 확인할 수 있습니다.

3.3 데이터베이스 삭제

# 데이터베이스 삭제
DROP DATABASE databasename;

마지막으로 DROP DATABASE로 실습을 위해 만들어두었던 데이터베이스를 삭제하였습니다. SHOW DATABASES로 데이터베이스 목록을 조회하여 삭제된 것을 확인할 수 있습니다.


4. 정리

SQL 문법 정리

게시글에 작성된 SQL 관련 문법들은 github에 정리해두었습니다. 학습을 진행하며 업데이트를 진행할 예정입니다.

0개의 댓글