DDL _ CREATE / DROP / ALTER
▤ 목차
✔ create
create 명령어는 데이터베이스와 테이블을 만들 수 있다.
⌨ 형식
1. 데이터 베이스 만들기
CREATE DATABASE 데이터베이스이름
2. 테이블 만들기
CREATE TABLE 테이블명(
칼럼명 자료형 기타조건들
);
💻 코드로 보기
1. 데이터 베이스 만들기
CREATE DATABASE School;
2. 테이블 만들기
CREATE TABLE student(
bun INT primary KEY,
irum VARCHAR(10) NOT NULL
);
프롬프트 사용 시
데이터 베이스 생성
MariaDB [(none)]> show databases;
![](https://blog.kakaocdn.net/dn/bmsFOC/btsGOwRhqyu/vkc4MkpmRVuBqyjjd0YYT0/img.png)
create database demo;
![](https://blog.kakaocdn.net/dn/s0H7n/btsGQOKq4Tv/I6XikhkDcPVbUk7KdeEytK/img.png)
show databases;
![](https://blog.kakaocdn.net/dn/bLnQDD/btsGPPCOUu2/JsyH7NH4ATyTHkkx4gmav0/img.png)
✔ drop
존재하는 테이블 전체를 삭제하는 명령어이다.
⌨ 형식
drop table 테이블명;
💻 코드로 보기
drop table student;
프롬프트 사용 시
데이터베이스 삭제
drop database demo;
![](https://blog.kakaocdn.net/dn/lb2LJ/btsGOwcF653/zlzUQDpcw45c151wQG962K/img.png)
✔ ALTER
ALTER 문은 데이터베이스의 전체적인 특성을 수정할 수 있게 해 준다.
테이블에 필드를 추가, 삭제하거나 필드의 타입을 변경할 수 있게 해 준다/
⌨ 형식
ALTER DATABASE 데이터베이스이름 CHARACTER SET=문자집합이름
ALTER DATABASE 데이터베이스이름 COLLATE=콜레이션이름
콜레이션(collation)은 데이터베이스에서 검색이나 정렬 작업을 할 때 사용하는 집합을 의미한다.
비교를 위한 규칙이다.
💻 코드로 보기
ALTER TABLE aa ALTER COLUMN juso SET DEFAULT '역삼동';
ALTER TABLE과 ADD문
⌨ 형식
ALTER TABLE 테이블이름 ADD 필드이름 필드타입
💻 코드로 보기
ALTER TABLE aa ADD phoneNum int;
ALTER TABLE kbs ADD(job_id INT DEFAULT 100);
-- 칼럼 추가
-- 이전 자료에 모두 default값으로 채워진다.
👏 중요
한글을 넣는데 깨진다면 charset=utf8을 설정할 수 있다.
CREATE TABLE aa(bun INT, irum CHAR(10), juso VARCHAR(50))CHARSET=UTF8;
-- CHARSET=utf8 : 한글이 깨지는 경우
ALTER TABLE과 DROP문
테이블 전체를 drop 하는 것이 아니라 테이블 필드만 삭제할 수 있다.
⌨ 형식
ALTER TABLE 테이블이름 DROP 필드이름
위와 같은 형식을 따르면 필드는 사라지지만
show 테이블명; 하면 확인할 수 있다.
💻 코드로 보기
ALTER TABLE test DROP jjang int;
ALTER TABLE kbs DROP COLUMN job_num;
Alter와 MODIFY COLUMN
Modify column 문과 함께 사용하면 테이블의 필드 타입을 변경할 수 있다.
⌨ 형식
ALTER TABLE 테이블이름 MODIFY COLUMN 필드이름 필드타입
SQL은 데이터와 직접적인 연관이 있어서 적재적소하게 사용하는 게 포인트이다.
구문을 많이 아는 것보다 적절하게 알고 사용할 줄 아는 게 실력이라는 생각이 든다.
💻 코드로 보기
ALTER TABLE test DROP jjang int;
-- 칼럼의 구조(type)를 변경하고 있다
ALTER TABLE kbs MODIFY job_num VARCHAR(5);
Alter와 RENAME
RENAME 문과 함께 사용하면 테이블의 필드 타입을 변경할 수 있다.
⌨ 형식
ALTER TABLE 테이블이름 RENAME 변경할 이름;
Alter와 CHANGE
RENAME 문과 함께 사용하면 테이블의 필드 타입을 변경할 수 있다.
⌨ 형식
ALTER TABLE kbs CHANGE job_id job_num INT;
😊정리
SQL은 데이터와 직접적인 연관이 있어서 적재적소하게 사용하는 게 포인트이다.
DB서버를 한번에 다녀오는게 좋은 것도 있으니,
구문을 많이 아는 것보다 적절하게 알고 사용할 줄 아는 게 실력이라는 생각이 든다.
저번에 정리한 DDL은 사실 개발자 입장에서 많이 사용하지 않는다.
특히 DROP 명령어는 더더욱 사용하지 않는다. (DROP은 테이블 자체 제거!!)