강의소개

Last updated - 2024년 11월 21일 Edit Source

    유튜버 쉬운코드님의 강의 플레이리스트 중 데이터베이스를 정리한 노트

    1. 01. 데이터베이스 개론
    2. 02. RDBMS 기초
    3. 03. SQL DB생성, 테이블 생성
    4. 04. 데이터 추가/수정/삭제
    5. 05. 데이터 조회
    6. 06. 서브쿼리
    7. 07. three-valued logic
    8. 08. Join
    9. 09. 통계함수
    10. 10. stored function
    11. 11. stored procedure
    12. 12. 실무에서 프로시저
    13. 13. trigger
    14. 14. transaction
    15. 15. concurrency control

    SELECT 조회 요약

    1
    2
    3
    4
    5
    6
    
    SELECT 속성() 혹은 집계함수()
    FROM 테이블()
    [WHERE 조건()]
    [GROUP BY 그룹속성()]
    [HAVING 그룹속성()]
    [ORDER BY 속성()];
    

    SELECT 개념적인 실행 순서

    • select 쿼리에서 각 절(phase)의 실행 순서는 개념적인 순서이다.
    • select 쿼리의 실제 실행 순서는 각 RDBMS에서 어떻게 구현했는지에 따라 다름
    1. FROM : 어떤 테이블로부터 조회할 것인지 혹은 join이 된 테이블들
    2. WHERE : 가지고 오는 튜플들에 대해서 조건을 통해 필터링 해야한다면
    3. GROUP BY : 그룹핑을 하고싶다면
    4. HAVING : 그룹핑 이후 특정 그룹만 필터링 해서 가지고 오고싶다면
    5. ORDER BY : 최종적인 select로 가져오기 직전에 정렬해서 가져오고싶다면
    6. SELECT : 관심있는 속성이나 통계에 관하여 최종적인 조회

    DB 생성, 테이블 생성 SQL 한 눈에 보기


     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    // DB 목록 확인
    SHOW DATABASES;
    
    // DB 생성
    CREATE DATABASE db명;
    
    // 선택된 DB 확인
    SELECT database();
    
    // 사용할 DB 지정
    USE db명;
    
    // DB 삭제
    DROP DATABASE db명;
    
    // 테이블 생성
    CREATE TABLE (속성명 속성타입 등등);
    
    // 테이블 스키마 변경 - 속성 추가
    ALTER TABLE 테이블명 ADD 속성명 타입;
    
    // 테이블 스키마 변경 - 속성 이름 변경
    ALTER TABLE 테이블명 RENAME COLUMN 지금속성명 TO 바뀔속성명;
    
    // 테이블 스키마 변경 - 속성 타입 변경
    ALTER TABLE 테이블명 MODIFY COLUMN 속성명 타입;
    
    // 테이블 스키마 변경 - 테이블 이름 변경
    ALTER TABLE 테이블명 RENAME TO 바뀔테이블명;
    
    // 테이블 스키마 변경 - 기본키 추가
    ALTER TABLE 테이블명 ADD PRIMARY KEY(id);
    
    // 테이블 삭제
    DROP TABLE 테이블명;
    

    데이터 추가/수정/삭제


     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    // 데이터 추가 - 1
    INSERT INTO 테이블명 VALUES (1, 2, 3, ...);
    
    INSERT INTO 테이블명 
    VALUES (속성이름1, 속성이름2, ...) 
    INTO ('값1', '값2', ... );
    
    // 데이터 추가 - 여러개
    INSERT INTO 테이블명 VALUES (1, 2, 3, ...), (1, 2, 3, ...), ...;
    
    // 데이터 수정
    UPDATE 테이블명 
    SET 속성1 = 1 
    [WHERE 조건];
    
    // 데이터 삭제
    DELETE FROM 테이블명
    [WHERE 조건];
    

    데이터 조회

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    // 데이터 조회
    SELECT 속성 FROM 테이블명 [WHERE 조건];
    
    // AS 별칭 짓기
    SELECT 속성 AS 별명 FROM 테이블명 AS 별명;
    
    // DISTINCT 중복제거
    SELECT DISTINCT 속성명 FROM 테이블;
    
    // LIKE 문자열 맞는 조건 - A 시작
    SELECT 속성명 FROM 테이블명
    WHERE 속성 LIKE 'A%';
    
    // LIKE 문자열 맞는 조건 - A로 
    SELECT 속성명 FROM 테이블명
    WHERE 속성 LIKE '%A';
    
    // LIKE 문자열 맞는 조건 - A 포함
    SELECT 속성명 FROM 테이블명
    WHERE 속성 LIKE '%A%';
    
    // LIKE 문자열 맞는 조건 - A 포함 2글자
    // _ 하나당 한칸
    SELECT 속성명 FROM 테이블명
    WHERE 속성 LIKE 'A_';
    

    Comment