1. MySQL에서 지원하는 데이터 형식
SMALLINT, INT(INTEGER), BIGINT, FLOAT, DECIMAL
부호 없는 정수를 지정할 때는 UNSIGNED 예약어를 뒤에 붙여준다(0~)
CHAR: 고정 길이 문자형 VARCHAR: 가변 길이 문자형 -> UTF-8 형태
DATE: 날짜만 저장할 때 DATETIME: 날짜와 시 분 초까지 저장
GEOMETRY: 공간 데이터 형식
JSON: JavaScript Object Notation 문서를 저장
2. 변수의 사용
SET @변수이름 = 값; -- 변수 선언 및 값 대입
SELECT @변수이름; -- 변수 출력
workbench를 닫으면 변수도 사라져버림
3. 데이터 형식 변환 함수
SELECT CAST(AVG(amount) AS SIGNED INTEGER) AS '평균 구매 개수' FROM buytbl;
SELECT CONVERT(AVG(amount), SIGNED INTEGER) AS '평균 구매 개수' FROM buytbl;
SELECT CAST('2020-10-19 12:35:29.123' AS DATE) AS 'DATE' ;
암시적 형변환: 직접 변환하지 않아도 컴퓨터 내부에서 형변환을 해주는 것
4. MySQL 내장함수
-제어 흐름 함수
IF( 수식, 참, 거짓)
IFNULL(수식1, 수식2): 수식1이 NULL이면 수식2가 반환
NULLIF(수식1, 수식2): 수식1과 수식2가 같으면 NULL 반환, 다르면 수식1 반환
CASE ~ WHEN ~ ELSE ~ END: 다중분기문
ASCII(문자), CHAR(숫자) -> 아스키 코드에서 상응하는 문자나 숫자를 출력
5. 피벗
한 열에 포함된 여러 값을 출력하고, 이를 여러 열로 변환하여 테이블 반환 식으로 회전하고 필요하면 집계까지 수행
6. JSON
웹과 모바일 응용 프로그램 등과 데이터를 교화하기 위한 개방형 표준 포맷
속성(key)와 값(value)으로 쌍을 이루며 구성되어 있음
JSON은 비록 자바스트립트에서 파생되었지만 특정 프로그래밍 언어에 종속되어 있지 않은 독립적인 데이터 포맷
- MySQL => JSON 데이터: 다른 다양한 앱에 전달하기 위해 JSON형태로 만듦
7. 조인
두 개의 테이블을 서로 엮어서 쿼리하기
1:다의 관계를 유지하고 있어야 함
데이터베이스의 테이블은 중복과 공간 낭비를 피하고, 데이터의 무결성을 위해 여러 테이블을 엮어서 사용
8. INNER JOIN(내부 조인)
첫 번째 테이블을 기준으로 두 번째 테이블에서 조건에 맞는 데이터를 찾아냄
9. OUTER JOIN(외부 조인)
10. CROSS JOIN(상호 조인)
11. SQL 프로그래밍
SQL 프로그래밍을 진행하기 위해 스토어드 프로시저를 만들고 사용해야 함
CALL 프로시저이름 => 프로시저 실행됨
'🔻Back-End > Database' 카테고리의 다른 글
[ERD] ERD 작성 시 주의할 점 (0) | 2022.10.22 |
---|---|
[MySQL Error] Datagrip에서 Communications link failure 오류 (0) | 2022.10.06 |
[MySQL] ubuntu에서 MySQL 계정 새로 만든 후 권한 부여 (0) | 2022.10.06 |
[MySQL] 이것이 MySQL이다 6장 스터디 (0) | 2022.03.30 |
[MySQL] 이것이 MySQL이다 5장 스터디 (0) | 2022.03.26 |