[Zero-Base DS]스터디노트_SQL(6)

HAHAHAEUN·2024년 4월 28일
post-thumbnail

주요 학습내용

1. AWS RDS

2. SQL File

3. Python with MySQL

4. Primary Key, Foreign Key

I. AWS RDS

  • AWS RDS (Amazon Relational Database Service)
    • 아마존에서 제공하는 관계형 데이터베이스 서비스

1. 터미널 실행

2. 중지방법

  • 7일 동안 중지되며, 이후에는 자동으로 실행됨

3. 다시 시작

II. SQL File

  • SQL 쿼리를 모아놓은 파일

1. SQL File 실행 ① - 로그인 이후

  • -paabbcc 에서 aabbcc는 root계정 비밀번호
  • -p aabbcc 에서 aabbcc는 database

2. SQL File 실행 ② - 외부에서 바로 실행

3. Database Backup

  • '<', '>' 방향 check

4. Database Restore

  • 데이터베이스를 백업한 SQL File을 실행하여 그 시점으로 복구하거나 이전 할 수 있다
    (SQL File을 실행하는 방법과 동일함)

5. Table Backup(테이블 단위로 백업)

6 Table Restore(테이블 단위로 리스토어)

  • Table을 백업한 SQL File을 실행하여, 해당 테이블을 복구하거나 이전할 수 있다.
    (SQL File을 실행하는 방법과 동일함)

7. Table Schema Backup

  • 데이터를 제외하고 테이블 생성 쿼리만 백업할 수 있다

III. Python with MySQL

1. 설치 및 종료

  • Python에서 MySQL을 사용하기 위해서는 먼저 MySQL Driver를 설치해야한다
  • 사용이 끝난 뒤에는 close해줘야 함

    * 오류수정 : mydb.close() => local.close() (connection 핸들을 받아온 변수로 close)

  • 특정 Database에 접속하기 위한 코드

2. 테이블 생성

  • cursor를 하나 지정해줌
  • 읽어올 데이터 양이 많은 경우 : buffered = True

3. 대량 파일 Data로 넣기

  • step 1)
  • step 2)
  • step 3)
  • step 4)
    • commit; 실행한 순간 적용 됨
    • 따라서, commit 전까지는 실제로 DB에 적용되지 않음

Tip

IV. Primary Key, Foreign Key

1. Primary Key(기본 키)

  • 테이블의 각 레코드를 식별
  • 중복되지 않은 고유값을 포함
  • NULL 값을 포함할 수 없음
  • 테이블 당 하나의 기본키를 가짐

1-1) Primary Key 생성

  • Primary key (col1, col2) 같이 컬럼이 여러개 있다고 해서 PK가 여러개 있는 건 X
  • 해당 컬럼들이 하나의 PK로 들어감

1-2) Primary Key 삭제

1-3) 삭제 후 다시 지정(PK)

  • ALTER TABLE tablename ADD primary key(column)

2. Foreign Key(외래키)

  • 한 테이블을 다른 테이블과 연결해주는 역할이며, 참조(reference)되는 테이블의 항목은 그 테이블의 기본키(혹은 단일 값)
  • 여러개의 항목일 수 있음

2-1) Foreign Key 생성

2-2) Foreign Key 삭제

3. 예제

  • Foreign Key 이용하여 관계 설정
  • 사용할 데이터
    1) crime_station
    2) police_station

3-1) 중복 제외 개수 확인

3-2) 내용 check

3-3) 데이터 매칭되는지 check

결과 :

3-4) Primary key 설정

  • police_station PK = name
  • crime_status PK =
    • crime_status column(reference) 추가 필요

3-5) Foreign Key 설정

  • reference table 값 넣어주기

3-6) address와 매칭되는지 check

결과 :

[자료 출처] 제로베이스 데이터 스쿨

profile
할 거면 제대로 하자

0개의 댓글