본문 바로가기
SQL

기초 문법 - DDL과 DML

by d22pinsights 2024. 7. 15.

책 : Doit! MySQL로 배우는 SQL 입문

 

DML : 데이터 조작 언어

  • SELECT(조회), INSERT(삽입), UPDATE(수정), DELETE(삭제)
  • 테이블에서 데이터를 조작하는데 사용하므로 테이블이 반드시 있어야한다

DDL : 데이터 정의 언어

  • CREATE(생성), DROP(삭제), ALTER(변경)
  • 데이터베이스, 테이블, 뷰, 인덱스 등의 개체를 조작하는데 사용한다
데이터베이스 생성 및 삭제하기
# CREATE DATABASE [데이터베이스 이름]
CREATE DATABASE doitsql;
USE doitsql;

SCHEMAS 옆 아이콘을 누르면 doitsql 데이터 베이스가 생성됨을 볼 수 있다

여러 데이터 베이스를 생성하게 되면 어떤 것을 사용할지 설정해야되는데, 그때 사용하는게 USE 문법이다

지금 내가 사용하는 데이터베이스의 글씨가 진하게 바뀐다

#DROP DATABASE [데이터베이스의 이름]
DROP DATABASE doitsql;

DROP문을 실행하면 데이터베이스가 바로 삭제되며 복구는 불가능하다

 

테이블 생성 및 삭제하기

테이블 생성하기 전에 테이블이 위치할 데이터베이스를 USE문을 통해 설정해줘야한다

#앞서 DROP문으로 삭제했으니 다시 데이터베이스를 만들기
CREATE DATABASE doitsql;
USE doitsql;

#CREATE 문으로 테이블 생성
CREATE TABLE doit_create_table(
col_1 INT,
col_2 VARCHAR(50),
col_3 DATATIME
);

데이터 유형

col_1 : 숫자

col_2 : 문자

col_3 : 날짜형

테이블 만들 때는 열 이름과 데이터 유형을 같이 정해줘야한다

#DROP 문으로 테이블 삭제
DROP TABLE doit_create_table;

 

데이터 삽입, 수정, 삭제하기

 

#INSERT 문으로 데이터 삽입하기
# INSERT INTO 테이블 이름 ([열1,열2..])(VALUES[값1,값2..])
CREATE TABLE doit_dml(
col_1 INT,
col_2 VARCHAR(50),
col_3 DATETIME
);

INSERT INTO doit_dml (col_1,col_2,col_3) VALUES (1,'DoItSQL','2024-01-01');

# 테이블 조회하여 삽입한 데이터 확인
SELECT * FROM doit_dml;

데이터를 삽입할 때 지정한 데이터 유형과 맞지 않으면 오류가 발생한다. 

유형 맞춰서 데이터를 삽입해야한다.

 

INSERT 문 더 알아보기
INSERT INTO doit_dml VALUES (2,'열 이름 생략','2024-02-02');
SELECT * FROM doit_dml;

테이블의 열 개수와 입력한 값의 개수가 일치하지 않으면 오류가 발생한다.

col_1과 col_2에만 데이터를 넣고 싶다면 열 지정해서 값 넣어야함

대상 열과 삽입할 데이터를 맞춰 나열하면 순서가 바뀌어도 잘 삽입된다

INSERT INTO doit_dml(col_1,col_2,col_3)
VALUES (5,'데이터 입력5','2024-05-05'), (6,'데이터 입력6','2024-06-06'),(7,'데이터 입력7','2024-07-07');

한번에 여러 데이터를 삽입할 수도 있다

 

UPDATE 문으로 데이터 수정하기

UPDATE문을 통해 이미 테이블에 삽입된 데이터를 수정할 수 있다

WHERE문을 생략할 수는 있지만, WHERE문의 조건을 누락하면 테이블의 전체 데이터를 수정하게 된다

UPDATE doit_dml SET col_2 = '데이터 수정'
WHERE col_1 = 5;

col_1 = 5인 행의 col_2값이 데이터 수정으로 바뀌었다

 

DELETE 문으로 데이터 삭제하기

DELETE 문에는 FROM이 반드시 필요하다

UPDATE 문과 동일하게 WHERE문이 없다면 전체 데이터가 삭제된다

DELETE FROM doit_dml WHERE col_1 =6;

col_1 = 6인 행이 사라졌다

전체 데이터를 삭제하고 싶다면 DELETE FROM doit_dml;을 실행하면 된다

 

주석 달기
-- 1줄짜리 주석
/*
쏘ㅑㄹ라쏘ㅑㄹ라
주석
*/ 여러줄 주석

1줄짜리 주석은 하이푼(--) 2개

여러줄 주석은 /*,*/로 열고 닫기

 

 

 

 

오늘은 여기까지

SQL 1일차 DML,DDL 사용하기 끝