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로 데이터베이스 목록을 조회하여 삭제된 것을 확인할 수 있습니다.
'SQL' 카테고리의 다른 글
SQL - 데이터베이스 구축 (0) | 2023.10.28 |
---|---|
SQL - 데이터 적재 및 사용(주민등록 인구통계) (0) | 2023.10.28 |
SQL - 데이터 적재 및 사용 (소상공인 데이터셋) (0) | 2023.10.28 |
SQL - 문장의 종류 (0) | 2023.10.28 |
SQL - 정규화 (2) | 2023.10.28 |