전체 글

Garbage in, garbage out
데이터베이스・SQL

[MySQL]SQL JOIN 총정리

이번 포스팅에서는 서로 다른 테이블을 결합하는 SQL JOIN에 대해 알아보도록 하겠습니다. 아래 두 테이블은 이번 포스팅을 작성하면서 사용할 celeb, snl 예제 테이블입니다. (제로베이스 데이터스쿨 SQL 파트 강의 실습 데이터를 사용했습니다.) 1. INNER JOIN SELECT , , ... FROM INNER JOIN ON . = .; 여러 JOIN 방식 중 자주 사용하는 유형입니다. 마지막으로 살펴볼 SELF JOIN과 동일한 결과를 리턴합니다. 쿼리문의 ON절의 조건을 만족하는 데이터만 가져옵니다. 교집합 개념을 떠올리면 이해하기 쉽습니다. SELECT * FROM celeb INNER JOIN snl ON celeb.name = snl.host; 두 예제 테이블에 대해 INNER JO..

데이터베이스・SQL

[MySQL]SQL UNION 명령어 알아보기

이번 포스팅에서는 SQL UNION 관련 명령어에 대해 알아보도록 하겠습니다. 아래 테이블은 이번 포스팅을 작성하면서 사용할 celeb 예제 테이블입니다. (제로베이스 SQL 파트 강의에서 사용한 예제 테이블을 사용했습니다.) 1. UNION 문법 SELECT , , ... FROM tableA UNION | UNION ALL SELECT , , ... FROM tableB; UNION은 서로 다른 쿼리문을 합치는 역할을 합니다. 단, 합치는 컬럼의 개수가 동일해야 한다는 조건을 만족해야 합니다. 명령어의 종류는 다음 2가지가 존재합니다. UNION: 중복값을 제거 UNION ALL: 중복값을 포함 2. UNION 예제 가수와 탤런트를 검색하는 각 쿼리문을 중복을 제거해 합치는 예제입니다. 우선 직업이 ..

데이터베이스・SQL

[MySQL]스칼라 함수(Scalar Function) 정리

이번 포스팅에서는 MySQL 스칼라 함수에 대해 알아보도록 하겠습니다. (제로베이스 SQL 파트 강의에서 사용한 예제 테이블을 사용했음을 밝힙니다.) UCASE, LCASE SELECT UCASE(menu) FROM sandwich WHERE price > 15; UCASE는 영문을 대문자로 반환하는 함수입니다. 위 코드는 15달러를 초과하는 샌드위치 메뉴명을 대문자로 변환해서 가져옵니다. SELECT LCASE(menu) FROM sandwich WHERE price < 5; LCASE는 영문을 소문자로 리턴하는 함수입니다. MID SELECT MID(, , ) MID는 부분문자열을 리턴합니다. 시작점 매개변수와 관련해서 문자열의 첫 글자는 1, 마지막 글자는 -1로 나타낼 수 있습니다. SELECT ..

데이터베이스・SQL

[MySQL]SQL 연산자 정리(비교/논리연산자)

이전 포스팅에서 테이블 자료를 다루기 위한 INSERT, SELECT, UPDATE, DELETE 명령어를 살펴봤습니다. 이번 포스팅에서는 그 연속선 상에서 SQL 연산자에 대해 알아볼 예정입니다. 연산자를 사용하면 테이블 데이터를 다루는 자유도가 높아집니다. 다음 테이블은 이번 포스팅을 작성하면서 사용할 celeb 테이블입니다. (제로베이스 데이터스쿨 강의_SQL 파트 실습 데이터를 사용했음을 사전에 밝힙니다.) 1. 비교연산자 연산자 의미 x = y x와 y는 동일 x > y x는 y 초과 x = y x는 y 이상 x

데이터베이스・SQL

[MySQL]DB 테이블 데이터 다루기(INSERT/SELECT/UPDATE/DELETE)

이번 포스팅에서는 테이블 내부 데이터를 다루는 기본 CRUD 명령어들에 대해 알아보도록 하겠습니다. 1. INSERT INSERT INTO VALUES (, , ...); 테이블에 데이터를 삽입하는 명령어입니다. 컬럼명 순서에 맞춰서 데이터를 추가해야 합니다. 2. SELECT SELECT , , ... FROM ; SELECT * FROM ; 테이블의 데이터를 조회합니다. 모든 열을 나타내는 의미로는 별표(*) 기호를 사용합니다. ✅ WHERE SELECT , , ... FROM WHERE ; WHERE문은 조건문 역할을 합니다. SELECT 뿐만 아니라 UPDATE, DELETE 명령어들과도 함께 사용할 수 있습니다. ✅ ORDER BY SELECT , , ... FROM WHERE ORDER BY ..

데이터베이스・SQL

[MySQL]기본키와 외래키 알아보기

이번 포스팅에서는 테이블의 기본키와 외래키에 대해 알아보도록 하겠습니다. 1. 기본키(Primary Key) 1-1. 기본키 특징 테이블의 각 레코드를 식별합니다. 중복되지 않는 고유값입니다. NULL값이 될 수 없습니다. 테이블 당 하나의 기본키가 존재합니다. 1-2. 기본키 명령어 CREATE TABLE ( NOT NULL, NOT NULL, ... PRIMARY KEY (, , ...) ); 위 코드는 테이블을 만들면서 기본키를 생성하는 명령어입니다. 2개 이상의 컬럼을 기본키로 지정할 수 있습니다. ALTER TABLE ADD PRIMARY KEY (, , ...); 다음으로는 이미 존재하는 테이블에 기본키를 새로 지정하는 방법에 대해 알아보겠습니다. ALTER TABLE DROP PRIMARY..

데이터베이스・SQL

[MySQL]파이썬으로 MySQL 사용하기

이번 포스팅에서는 파이썬으로 MySQL을 사용하는 방법에 대해 알아보도록 하겠습니다. 1. 모듈 설치 pip install mysql-connector-python import mysql.connector 2. 데이터베이스 연결 local = mysql.connector.connect( host='localhost', user=, password=, database= ) local.close() 우선 로컬 DB에 연결하는 방법부터 알아보겠습니다. connect 메서드를 실행하여 DB 관련 정보를 입력해야 합니다. 사용을 종료할 때는 close 메서드를 실행해 종료합니다. # 원격 DB에 연결 remote = mysql.connector.connect( host=, port=, user=, password..

데이터베이스・SQL

[MySQL]DB 테이블 생성/수정/삭제 명령어 정리

이번 포스팅에서는 DB 테이블을 만들고 수정, 삭제하는 명령어에 대해 알아보도록 하겠습니다. 1. 테이블이란? 하나의 데이터베이스는 여러 테이블로 구성할 수 있습니다. pandas 라이브러리의 데이터프레임을 떠올리면 이해하기 쉽습니다. 2. 테이블 명령어 2-1. 테이블 생성 CREATE TABLE ( , , ... ); 컬럼명과 데이터 타입 이외에도 여러 옵션이 있지만 쿼리문 형태만 간단하게 살펴보겠습니다. SHOW TABLES; 데이터베이스에 생성되어 있는 테이블 목록을 확인하는 명령어입니다. DESC ; 특정 테이블의 구체적인 구조를 확인할 수 있는 명령어입니다. 2-2. 테이블 수정 기본적인 명령어 형태는 ALTER TABLE로 시작합니다. ✅ 테이블 이름 변경 ALTER TABLE RENAME ..

truezero
데이터 공부하는 제이슨