[ZB 데이터스쿨 11기]6주차 학습노트

InSung-Na·2023년 2월 12일
0

Study Note

목록 보기
6/18
post-thumbnail

📌6주차 학습내용 요약

📌데이터베이스 정의

DataBase

  • 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체

DBMS(DataBase Management System)

  • 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어

관계형 데이터베이스(RDB : Relational Database)

  • 서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간

SQL(Structured Query Language)

  • 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어

📌SQL의 구성

데이터 정의 언어 (DDL: Data Definition Language)

  • 데이터 구조를 정의하는 언어
  • CREATE, ALTER, DROP 등의 명령어

데이터 조작 언어 (DML: Data Manipulation Language)

  • 데이터를 조작&처리 하는 언어
  • INSERT, UPDATE, DELETE, SELECT 등의 명령어

데이터 제어 언어 (DCL: Data Control Language)

  • 데이터의 보안, 접근성을 제어하는 언어
  • GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어

1. 데이터 정의어(Data Definition Language)

CREATE

데이터베이스 생성

CREATE DATABASE mydb;

유저생성

CREATE USER 'USERNAME'@'HOST' identified by 'password'

테이블 생성

CREATE tablename
(
	columnname datatype,
    columnname datatype,
    ...
)

ALTER

테이블 이름 변경

ALTER TABLE tablename
RENAME new_tablename;

컬럼 추가

ALTER TABLE tablename
ADD COLUMN columnname datatype;

컬럼 데이터타입 변경

ALTER TABLE tablename
MODIFY COLUMN columnname datatype;

컬럼 이름과 데이터타입 변경

ALTER TABLE tablename
CHANGE COLUMN old_columnname new_columnname new_datatype;

컬럼 삭제

ALTER TABLE tablename
DROP COLUMN columnname;

DROP

DB 삭제

DROP DATABASE mydb;

유저 삭제

DROP USER 'USERNAME'@'HOST'

테이블 삭제

DROP TABLE tablename;

2. 데이터 조작어(Data Manipulation Language)

INSERT

데이터 추가

INSERT INTO tablename (column1, column2, ...)
VALUES (value1, value2, ...);

SELECT

데이터 선택

SELECT column1, column2, ...
FROM tablename;

WHERE

select, update, delete 등의 문법에 조건으로 같이 사용됨

SELECT column1, column2, ...
FROM tablename
WHERE condition;

UPDATE

데이터 수정

UPDATE tablename
SET column1 = value1, column2 = value2, ...
WHERER condition;

DELETE

데이터 삭제

DELETE FROM tablename
WHERE condition;

3. 데이터 제어어(Data Control Language)

모든 권한 목록 확인

SHOW GRANTS FOR 'USERNAME'@'HOST';

특정 DB의 모든 권한 부여

GRANT ALL ON DBNAME.* to 'USERNAME'@'HOST';

특정 DB의 모든 권한 삭제

REVOKE ALL ON DBNAME.* from 'USERNAME'@'HOST';

그 외 명령어

보기

SHOW TARGET(DB, TABLE)

새로고침

FLUSH PRIVILEGES;

ORDER BY : 정렬

SELECT column1, column2, ...
FROM tablename
ORDER BY column1, column2, ... ASC | DESC;

like : 패턴인식

'_' : 글자의 갯수
'%' : 임의의 글자

select * from celeb
where agency like 'XX%' | '%X%' | '__XXXX%';

UNION | UNION ALL : 데이터통합

SELECT column1, column2, ... FROM table1
UNION ALL | UNION
SELECT column1, column2, ... FROM table2

JOIN : 특정조건으로 통합

  • MySQL은 FULL OUTER JOIN을 지원 안함
SELECT column1, column2, ...
FROM table1
INNER | LEFT | RIGHT JOIN table2
ON table1.column = table2.column
WHERE condition;

CONCAT : 문자열통합

SELECT CONCAT(column1, column2, ...)
FROM tablename

ALIAS : 별칭 생성

as는 생략가능

SELECT column as alias
FROM tablename

SELECT A.column
FROM tablename as A

DISTINCT : 중복제거

SELECT DISTINCT column1, column2, ...
FROM tablename

LIMIT : 출력갯수제한

SELECT column1, column2 ...
FROM tablename
WHERE condition
LIMIT number;

📌AWS RDS

  • Amazon Relational Database Service
  • AWS 에서 제공하는 관계형 데이터베이스 서비스


📌학습범위

  • Part 05. SQL
    • SQL1
    • SQL2
    • AWS RDS와 SQL File

0개의 댓글