Database/MySQL 26

[MySQL] 조건문, CASE / if() 함수로 데이터 변환하기

CASE : 컬럼에 있는 값을 가공하는 조건문if( ) : 조건부 함수  MySQL CASE 문 / if() 함수로 데이터 변환하기CASE 문 문법- when 절에는 참과 거짓을 반환하는 조건을 넣어줘야 한다.- 조건이 참이면 then 뒤에 결과가 반영된다.- 어떤 조건도 만족하지 못하면 else 절의 결과가 반영된다.- else는 생략 가능하며, 생략하면 null 값으로 간주된다.    CASE 문 사용 방법① case 문을 작성할 기본 틀 세우기  ② 조건식과 결과값 넣어주기조건 : released_year 값이 2000 이상인 책들은 '최신책' 이라고 하고,결과 :  그렇지 않은 책들은 '예전책'이라 하자. ③ type 이라고 컬럼명 지어주기  ④ 추가된 type 컬럼에 결과값이 들어갔다.   기존..

Database/MySQL 2024.05.14

[MySQL] 데이터가 null 인지 아닌지 확인하는 방법 is null / is not null, ifnull() 함수로 null값 채우기

is null : null 데이터 확인is not null : null이 아닌 데이터 확인ifnull() : null 값을 채우는 전용함수 MySQL null 데이터 확인하는 방법, ifnull() 함수 사용법where 컬럼명 is null ;: 컬럼에 값이 없는 데이터를 가져온다. - null은 영문이기 때문에 = 이 아닌, is로 이어주기 - where 뒤에 ' 컬럼명 = null ; '  라고 입력해도 동작은 되지만, 원하는 결과가 안나옴 => 버그     where 컬럼명 is not null ;: 컬럼에 값이 null이 아닌 데이터 가져오는 방법.    ifunll( 컬럼명, null 자리에 채울 값 ) stock_quantity 에 null이 있다.   null 을 0으로 셋팅하자.

Database/MySQL 2024.05.14

[MySQL] 데이터 그룹화 하기, group by 사용법, group by 에서 having 사용법

group by - 중복된 데이터를 그룹화 하는 키워드- ~별로 묶어서 ...하자- 주로, COUNT(), MAX(), MIN(), SUM(), AVG() 등과 같은 집계 함수와 함께 사용.집계함수 사용법 바로가기 MySQL group by, having 사용법group by 문제) author_lname별로 몇 권의 책을 썼는지 작가 이름과 책 권수 가져오기① 데이터를 author_lname 으로 그룹화 하기 ② 묶어준 그룹 안에서 각 데이터들의 개수 구하기 + 해당 컬럼의 이름은 book_cnt 라고 변경하기 + author_lname 과 book_cnt 컬럼만 가져오기     컬럼 released_year 를 그룹화 하여, released_year 컬럼 각각의 데이터 개수 가져오기   having-..

Database/MySQL 2024.05.14

[MySQL] 데이터 집계함수 count(), sum(), avg(), max(), min() 사용법

count( * ) : 전체 행 개수를 알려준다.  count( 컬럼 ) : 컬럼의 전체 행 개수를 알려준다. sum( 컬럼 ) : 컬럼의 모든값을 더해준다.avg( 컬럼 ) : 컬럼의 평균값을 구해준다.max( 컬럼 ) : 컬럼의 최대값을 알려준다.min( 컬럼 ) : 컬럼의 최소값을 알려준다.  데이터 집계함수 count(), sum(), avg(), max(), min()- count(): ( )안에 * 을 넣으면 테이블 데이터 개수를, ( )안에 특정 컬럼명을 넣어주면 해당 컬럼 데이터 개수를 알려준다.where 문에 해당하는 데이터의 개수 출력  'released_year' 컬럼의 데이터 개수 출력   - sum (): ( ) 안에 입력한 컬럼의 모든 값을 더해준다.   - avg (): ( )..

Database/MySQL 2024.05.14

[MySQL] 문자열 검색에 유용한 like 사용법

like : 문자열이 포함된 데이터 찾기 MySQL 문자열 검색에 유용한 like 사용법1. like '%the%'- 위치에 상관 없이, the 가 들어있는 데이터 가져오기- the 앞뒤에 다른 문자 허용- 대소문자 구분 안 함 주의! 책 제목이 'the' 인 경우와는 다르다.    2. like 'the%' - the 로 시작하는 데이터 가져오기   3. like ' %the'- the 로 끝나는 데이터 가져오기   4. like '_'- stock_quantity 컬럼에서, 숫자가 두자리인 데이터만 가져오기- 두자리이니까 언더스코어 2개  '__'   5. not like '%talk%'- title 컬럼에서, talk가 없는 데이터 가져오기

Database/MySQL 2024.05.14

[MySQL] 페이징(paging)에 사용되는 limit 와 offset

paging : 데이터의 개수가 많아서, 데이터를 끊어서 가져오는 방법 limit : 가져올 행의 수를 제한offset : 건너뛸 행의 수를 지정 MySQL Paging에 사용되는 limit 와 offsetlimit 0, 5;- 처음부터 5번째까지 행 가져오기- limit 오른쪽에 작성하는 숫자는 2개(offset과 가져올 마지막 행)- offset은 0부터 시작, 0만 쓰면 아무것도 가져오지 말라는 의미- offset 0은 생략 가능, limit 0, 5; = limit 5;     내림차순으로 정렬 후, 7개의 데이터 가져오기1. order by 컬럼명 desc : 원하는 컬럼을 내림차순으로 정렬하기2. limit 7; : 정렬된 데이터 상위값 7개 가져오기   pages 컬럼 최대값의 title 값..

Database/MySQL 2024.05.14

[MySQL] 문자열 컬럼의 데이터 가공, concat(), concat_ws(), replace(), reverse(), upper(), lower(), char_length(), substring()

문자열 데이터 가공하는 다양한 함수들 - concat(): 두 개 이상의 문자열이나 컬럼 값을 단순 연결하는 함수구분자 없이 문자열을 연결해서, 공백이 포함되지 않는다.null 값이 포함되면, null 값을 반환한다.    - concat_ws(): 두 개 이상의 문자열이나 컬럼 값을 구분자를 사용하여 연결하는 함수구분자는 첫번째로 넣어주고, 그 구분자로 문자열이 연결된다.null 값이 포함되면, null 값을 건너뛴다.    - replace(): 문자열을 다른 문자로 바꾸는 함수    - reverse(): 문자열을 뒤집는 함수    - upper(): 문자열을 대문자로 변환하는 함수    - lower(): 문자열을 소문자로 변환하는 함수    - char_length(): 문자열의 길이를 구하는 ..

Database/MySQL 2024.05.13