Notice
Recent Posts
Recent Comments
Link
관리 메뉴

jh-data1og 님의 블로그

패스트캠퍼스 ㅣ 데이터분석부트캠프 18기 7주차 ㅣ MYSQL 기초 본문

카테고리 없음

패스트캠퍼스 ㅣ 데이터분석부트캠프 18기 7주차 ㅣ MYSQL 기초

jh-data1og 2025. 4. 13. 17:32

MYSQL 설치

워크벤치 -> 비밀번호 입력 -> 쿼리 탭 생성

 

  • 기본 용어 정리
    1.  데이터 : 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보
    2.  MYSQL 데이터 타입 : 숫자형(정수형, 실수형), 문자형, 날짜형

      -> 데이터 타입을 알아야하는 이유!
      1 ) MYSQL에서는 데이터 저장하기 전에 저장 공간의 데이터 타입을 미리 정해줘야함
      2 ) 해당 저장공간에서 미리 정해둔 데이터 타입이 아니면, 데이터 저장 불가능 

      ★ 정수형(INT), 실수형(FLOAT), 문자형(VARCHAR(n)) 주로 사용
      ★ 데이터 타입 간 변환가능 : 함수를 사용해 서로 타입 변환이 가능

    3.  테이블 : 데이터베이스에서 데이터를 형태를 정하여 모아놓은 저장공간
                     즉, 행(로우)과 열(컬럼)로 이루어진 데이터 표
    4.  DB (database) : 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 데이터 저장소 & 테이블 저장소
                                -> 생성 순서 : 데이터베이스 생성 후 테이블 생성 
    5.  자료 구조화 저장/ 여러 사용자 동시에 사용 가능/ 응용프로그램 활용
    6.  DBMS (data management system) : 데이터베이스의 기능을 제공하는 프로그램
    7.  SQL (structured query language) : 데이터베이스와 대화하기위해 사용하는 언어
    8. 쿼리: SQL로 쓰인 데이터베이스에 명령을 내리는 문장
  • 알아둬야할 것
  1.  Ctrl + Enter : 실행
  2. ";" 콜론으로 끝내야함
  3.  #이나 —: 주석처리
  4.  /* 마지막에 */로 끝내야함 : 여러줄 메모처리
★쿼리
 데이터베이스 만들기 CREATE DATABASE [데이터베이스 이름];
데이터베이스 목록 보기 SHOW DATABASES;
데이터베이스 사용하기 USE [데이터베이스 이름];
테이블 만들기 CREATE TABLE [테이블 이름] (

[컬럼 이름] [데이터 타입],
[컬럼 이름] _ (한칸 띄기) [데이터 타입],(쉼표로 연결)

...

);
테이블 이름 변경하기 ALTER TABLE [테이블이름] RENAME [테이블이름];
새로운 컬럼 추가하기 ALTER TABLE [테이블 이름] ADD COLUMN [컬럼 이름] [데이터 타입];
기존 컬럼 타입 변경하기  ALTER TABLE [테이블 이름] MODIFY COLUMN [컬럼 이름] [새로운 데이터 타입];
기존 컬럼 이름과 타입 변경하기 ALTER TABLE [테이블 이름]
CHANGE COLUMN [컬럼 이름] [새로운 컬럼 이름] [새로운 데이터 타입];
컬럼 지우기 ALTER TABLE [테이블 이름] DROP COLUMN [컬럼 이름];
데이터베이스 지우기 DROP DATABASE [데이터베이스 이름];
테이블 지우기 DROP TABLE [테이블 이름];
테이블 값만 지우기 TRUNCATE TABLE [테이블 이름];
데이터베이스/테이블이 존재한다면 지우기 DROP DATABASE/TABLE IF EXISTS [데이터베이스 이름];
데이터 하나 삽입하기 INSERT INTO [테이블 이름] ([컬럼1 이름], [컬럼2 이름], [컬럼3 이름])
VALUES ([컬럼1 값], [컬럼2 값], [컬럼3 값])
-> 로우마다 괄호 여닫기, 쉼표
-> 두 개의 리스트 갯수는 일치해야함!
데이터 삭제하기 DELETE FROM [테이블 이름]
WHERE [조건 값];
데이터 수정하기 UPDATE [테이블 이름]
SET [컬럼 이름] = [새 값]
WHERE [조건 값];

 

원하는 데이터 가져오기
SELECT [컬럼 이름]
SELECT * (컬럼 전체 가져오기)
가져올 데이터를 선택/ 값을 가져올 컬럼을 선택
*컬럼 선택 전, 테이블 먼저 선택
FROM [데이터베이스 이름].[테이블 이름];
FROM [테이블 이름];
 ㄴUSE [데이터베이스 이름]; -- 데이터베이스 지정 시
데이터를 가져올 테이블을 지정
AS [컬럼 별명]
ex) SELECT [컬럼 이름] AS [컬럼 별명]
가져온 데이터에 별명을 지정
테이블 내의 실제 컬럼 이름은 변하지 않음
LIMIT [로우 수] 가져올 데이터의 로우 개수를 지정
쿼리의 가장 마지막에 위치
DISTINCT [컬럼 이름] 중복된 데이터는 제외하고, 같은 값은 한 번만 가져옴
컬럼에 어떤 값들이 있는 지 확인하고 싶을 때 사용함

 

조건에 맞는 데이터 가져오기
WHERE 조건식 가져올 데이터의 조건을 지정
조건식이 True(참)이 되는 로우만 선택
연산자 사용해 조건식 작성
연산자 종류
비교 연산자
논리 연산자 AND : A와 B 모두 True이면 True
OR : A와 B 둘 중 하나만 True이면 True
NOT : A가 아니면 True
기타 주요 연산자 [컬럼 이름] BETWEEN A AND B : 특정 범위 내의 데이터를 선택할 때 사용
* [컬럼 이름] BETWEEN A AND B 쿼리는 A <= [컬럼 이름] AND [컬럼 이름] <= B와 동일
  [컬럼 이름] IN ([조건 1], [조건 2], ...) : 목록 내 포함되는 데이터를 선택할 때 사용
* [컬럼 이름] IN (A, B) 쿼리는 [컬럼 이름] = A OR [컬럼 이름] = B와 동일
[컬럼 이름] LIKE [검색할 문자열] 특정 문자열이 포함된 데이터를 선택
* % : 0개 이상의 문자
   _ : 1개의 문자
* '%e' : e로 끝나는 문자열, '%e%' : e가 포함된 문자열 etc
NULL 데이터 값이 존재하지 않는다 / 0 이나 공백이 아닌 알 수 없는 값을 의미
[컬럼 이름] IS NULL/IS NOT NULL 데이터가 NULL인지 아닌지를 확인
* [컬럼 이름] = NULL 또는 [컬럼 이름] != NULL 과 같은 표현은 사용하지 않음

 

원하는 데이터 만들기
ORDER BY [컬럼 이름]
ORDER BY [컬럼 이름] DESC
ORDER BY [컬럼 1], [컬럼 2]
가져온 데이터를 정렬
* 기본 정렬 규칙은 오름차순 / DESC 내림차순
* [컬럼 1] 기준으로 정렬 -> [컬럼 1] 값이 동일한 로우 간에 [컬럼 2] 기준으로 정렬
* 컬럼 번호로도 정렬 가능
RANK() OVER (ORDER BY [컬럼 이름]) 데이터를 정렬해 순위를 만들어주는 함수
* SELECT절에 사용, 정렬된 순서에 순위를 붙인 새로운 컬럼을 보여줌
* 테이블의 실제 데이터에는 영향을 미치지 않음
* 공동 순위가 있으면 다음 순서로 건너 뜀
DENSE_RANK() OVER (ORDER BY [컬럼 이름]) 공동 순위가 있어도 다음 순위를 뛰어 넘지 않음
ROW_NUMBER() OVER (ORDER BY [컬럼 이름]) 공동 순위를 무시함

 

- 함수 사용해서 데이터 타입 변형하기

문자형 데이터 함수
숫자형 데이터 함수
날짜형 데이터 함수