데이터 분석

mysql 개념2

강청색 2023. 12. 13. 20:44

산술연산자

 

연산자 기능 사용법 의미
+ +(덧셈) a+b a와 b를 더한다
- -(뺄셈) a-b a에서 b를 뺀다
* X(곱셈) a*b a와 b를 곱한다
/ 나눗셈 a/b a를 b로 나눈다
% 나머지 a%b a를 b로 나눈 나머지

예시

SELECT price * 0.5 FROM book;

SELECT price /2 FROM book;

 

비교연산자

-- 비교 리터럴 및 WHERE 절의 값 비교에 사용하는 연산자

참: 1, 거짓 :0 값 반환

연산자 기능 의미
= a=b a와 b는 같다
< a<b a는 b보다 작다
<= a<=b a는 b이하이다
> a>b a는 b보다 크다
>= a>=b a는 b이상이다
<> a<>b
a!=b
a와 b는 같지않다

 

논리 연산자

-- 여러 조건을 조합해 복합 조건을 나타낼 수 있음

연산자 기능 논리 연산식 설명
AND 그리고 (a>=10) AND (a<=20) A는 10이상 이고 20 이하이다
OR 또는 (a=5) OR (a=10) A는 5 또는 10이다.
NOT ~이 아님 NOT(a=200) A는 200이 아니다.

 

내장함수

-- 내장함수는 DBMS에서 자주 사용하는 기능을 제공하는 것

sum(), count(), average() 등

SELECT 내장함수();

 

SELECT 내장함수(column)

FROM 테이블이름;

내장함수 문법 예시
SUM SUM([ALL |DISTINCT] 속성 이름) SUM(price)
AVG AVG([ALL |DISTINCT] 속성 이름) AVG(price)
COUNT COUNT({[[ALL |DISTINCT] 속성 이름]|*}) COUNT(*)
MAX MAX([ALL | DISTINCT] 속성이름) MAX(price)
MIN MIN([ALL | DISTINCT] 속성이름) MIN(price)

 

ALIAS

- SQL 구문에서 대상을 다른 이름으로 사용함

- Column Alias : AS 절을 붙여 컬럼 이름을 사용함

- Table Alias : 테이블 이름 뒤에 Alias 이름을 사용함

 

문자열 다루기

-- 문자열을 결합할때 CONCAT() 함수 사용

-- 컬럼과 문자열, 문자열과 문자열 결합

SELECT CONCAT("도서명:", bookname)

FROM book;

 

문자열 길이 함수

LENGTH(문재열) : 문자열의 Byte 길이

CHAR_LENGTH(문자열) : 문자의 개수

 

-- TRIM() 문자열 좌우 공백 제거

-- LTRIM() 좌측 공백 제거

-- RTRIM() 우측 공백 제거

-- 문자열 좌측 문자 제거(LEADING)

-- 문자열 우측 문자 제거(TRAILING)

-- Byte 단위 개수와 문자 개수 함수를 구분해야 함

 

문자열 추출함수

-- substring(문자열,start,count) : 문자열에서 start에서 count 수 만큼 추출

-- substring_INDEX(문자열, delimeter, index): 문자열을 delimeter로 구분하고 index 위치까지 문자 추출

-- LEFT(문자열,count) : 문자열에서 왼쪽을 기준으로 일정 갯수를 가져오는 함수

-- RIGHT(문자열,count) : 문자열에서 오른쪽을 기준으로 일정 갯수를 가져오는 함수

-- MID(문자열, start, count) : 문자에 지정한 시작 위치를 기준으로 일정 개수를 가져오는 함수로 SUBSTRING()과 동일

 

자료형 정리

- Numeric Data Types

구분 내용
TINYINT(n) 정수형(1byte) -128~+127, 0~255
SMALLINT(n) 정수형(2byte) -32678 ~ 32767, 0~65536
MEDIUMINT(n) 정수형(3byte) -8388608 ~ + 8388607 또는 0~ 1677215 표현 가능
INT(n) 정수형(4byte) -2147483648 ~ +2147483647, 0~4294967295 표현 가능
BIGINT(n) 정수형(8byte) 무제한 수 표현 가능
FLOAT(길이, 소수) 부동 소수형(4type) 고정 소수점을 사용 형태
DECIMAL(길이, 소수) 고정 소수형 고정(길이 +1byte) 소수점을 사용 형태
DOUBLE(길이, 소수) 부동 소수형 (8byte) DOUBLE을 문자열로 저장

- String Data Types

구분 내용
CHAR(n) 고정 길이 데이터 타입(최대 255byte)
지정된 길이보다 짧은 데이터 입력 시 나머지 공간 공백으로 채워짐
CHAR, CHAR(1) 동일
VARCHAR(n) 가변 길이 데이터 타입(최대 65535byte)
지정된 길이보다 짧은 데이터 입력될 시 나머지 공간은 채우지 않음
TINYTEXT(n) 문자열 데이터 타입(최대 255byte)
TEXT(n) 문자열 데이터 타입(최대 65535byte)
MEDIUMTEXT(n) 문자열 데이터 타입(최대 16777215byte)
LONGTEXT(n) 문자열 데이터 타입(최대 4294967295byte)
BLOB(n) BLOB(Binary Large OBject)
사진, 동영상, 문서 파일 등 이전 데이터 저장
ENUM(n) 열거형 데이터를 저장하는데 사용
SET(n) SET 형식은 최대 64개 데이터를 2개씩 세트로 묶어 저장할 떄 사용

 

- Date and Time Data Types

구분 내용
DATE 'YYYY-MM-DD' 형태의 기간 표현 데이터 타입(3byte)
TIME 'hh:mm:ss' 시간(시,분,초) 형태의 기간 표현 데이터 타입(3byte)
DATETIME 'YYYY-MM-DD hh:mm:ss' 날짜와 시간 형태의 기간 표현 데이터 타입(8byte)
TIMESTAMP 날짜와 시간 형태의 기간 표현 데이터 타입(4type)
시스템 변경 시 자동으로 그 날짜와 시가니 저장됨
'YYYY-MM-DD hh:mm:ss' 형식
YEAR 1901-2155 범위 4자리 년도 'YYYY' 표현 데이터타입(1byte)
V8 이후 2자리 년도 표시 지원 안함

 

날짜 자료형 다루기

 

날짜 데이터에서 일, 월, 연도 구하기

-- YEAR(날짜), MONTH(날짜), DAY(날짜), HOUR(시간), MINUTE(시간), SECOND(시간), MICROSECOND(시간), LAST_DAY(날짜)

 

현재날짜

-- CURDATE(), CURTIME()

-- 오늘 날짜를 YYYY-MM-DD나 YYYYMMDD 형식으로 변환

-= NOW(), SYSDATE()

-- 현재 시간을 YYYY-MM-DD HH:MM:SS 형식으로 변환

 

날짜/ 시간 증감 함수

함수명  기능
DATE_ADD(date,INTERVAL expr),
DATE_SUB(date,INTERVAL expr)
date를 기준으로 INTERVAL expr 만큼 더하거나 뺀다
ADDDATE(date, INTERVAL expr),
SUBDATE(date, INTERVAL expr)
 
ADDTIME(time, expr),
SUBTIME(time, expr)
time을 기준으로 expr 만큼 더하거나 뺀다
날짜 date에 type 형식으로 지정한 expr 값을 더하거나 뺀다
DATE_ADD()와 ADDDATE()는 같은 동작이고, DATE_SUB()와 SUBDATE()는 같은 의미이다

 

날짜/시간 사이의 차이와 월/요일/주 값

DATEDIFF(날짜1, 날짜2), TIMEDIFF(날짜1 또는 시간1, 날짜1 또는 시간2)

DAYOFWEEK(날짜), MONTHNAME(), DAYOFYEAR(날짜)

 

기타

MAKETIME(시,분,초), PERIOD_ADD(연월, 개월수), PERIOD_DIFF(연월1, 연월2), QUARTER(날짜)

 

자료형 변환 함수

데이터 형식 변환함수

-- CAST(expression AS 데이터형식[(길이)])

-- CONVERT(expression, 데이터형식[(길이)])

예시)

구매 테이블에서 평균 구매 개수를 구한다

SELECT AVG(saleprice) AS '평균 구매 가격' FROM orders;

구매 가격을 정수로 출력

SELECT CAST(AVG(saleprice) AS SIGNED INTEGER)

 

암묵적 형 변환

CAST() 함수나 CONVERT() 함수를 사용하지 않고 데이터 형식을 변환하는 것

연산의 결과에 따른 규칙

'데이터 분석' 카테고리의 다른 글

mysql6  (1) 2023.12.20
mysql5  (0) 2023.12.19
mysql4  (2) 2023.12.18
mysql-3  (0) 2023.12.14
mysql 개념  (0) 2023.12.13