본문 바로가기

데이터베이스

(14)
[ MySQL ] 날짜 데이터를 저장하는 데이터 타입 1. DATE 타입 - 날짜는 포함하지만 시간은 포함하지 않을 때 사용한다. - 형식 : YYYY-MM-DD 2. TIME 타입 - 시간에 대한 정보를 담는다. - 형식 : HH:MM:SS 3. DATETIME 타입 - 날짜와 시간을 모두 포함한다. - 형식 : YYYY-MM-DD HH:MM:SS - 문자형 타입이다. - 데이터 값을 입력해야만 날짜가 입력된다. 4. TIMESTAMP 타입 - 날짜와 시간을 모두 포함한다. - 형식 : YYYY-MM-DD HH:MM:SS - 숫자형 타입이다. - 자동 입력을 할 수 있다. * 테이블에서 데이터 생성 시, 데이터 타입을 TIMESTAMP로 한 후, default 값을 now()로 설정해주면 현재 시간이 데이터로 들어간다.
[ MySQL ] Join / Left Join 사용법 Join 이란 ? 두 개 이상의 테이블을 조합하여 하나의 결과 집합으로 만들어내는 것이다. * 두 개 테이블에 공통으로 들어있는 데이터만 가지고 온다. select [ 컬럼명 ] from [ 테이블1 ] join [ 테이블2 ] on [ 조인 조건]; 예시 1) 두개의 테이블을 하나로 합쳐서 가져오시오 select * from customers join orders on customers.id = orders.customer_id; 예시 2) 주문 금액이 600 달러보다 큰 사람의 이메일을 가져오시오. * 테이블 이름을 줄여서 사용하는 방법 * 컬럼의 이름이 중복되는 경우는 컬럼의 이름을 바꿔서 가져와야 한다. select distinct c.email, c.id from customers c join ..
[ MySQL ] Workbench에서 외래키(Foreign key) 설정 1. 두개의 테이블 생성 (Customers, Order) * 참조하는 컬럼(id)은 PK이어야 한다. * 참조하는 테이블의 컬럼(id) 타입(unsigned int)과 외래키로 설정해주는 컬럼(customer_id)의 타입(unsigned int)을 동일하게 한다. 2. 테이블을 참조할 외래키를 정해준다. 테이블 customers의 id를 참조하는 테이블 orders 의 cutomer_id
[ MySQL ] case 문 과 if() 함수 사용법 1. case 문 사용법 select case when [ 조건문 ] then '반환 값' else 'when 조건에 해당 안되는 경우 반환 값' end from [ 테이블명 ]; - 예제 1) 년도가 2000년 이후에 나온 책들은 Modern 이라고 하고, 그렇지 않은 책들은 Old 라고 새로운 컬럼을 만들어서 가져오세요. select *, case when released_year >= 2000 then 'Modern' else 'Old' end as Genre from books; - 예제 2) stock_quantity 가 0~50 사이면, * (별표 1개), 51~100 사이면, ** (별표 2개), 그 외이면, *** (별표 3개) select title, stock_quantity case ..
[ MySQL ] Group by 사용법 Group by : 특정 컬럼을 그룹화해준다. 사용법 1) 컬럼 그룹화 select [ 컬럼명 ] from [ 테이블명 ] group by [ 그룹화할 컬럼 ]; 2) 조건 처리 후에 컬럼 그룹화 select [ 컬럼명 ] from [ 테이블명 ] where [ 조건식 ] group by [ 그룹화할 컬럼 ]; 3) 컬럼 그룹화 후, 그룹화한 컬럼으로 정렬 select [ 컬럼명 ] from [ 테이블명 ] group by [ 그룹화할 컬럼 ] order by [ 정렬할 컬럼 ]; group by 예제 예제 1) full_name 별로, 각각 몇권의 책을 썼는지, full_name 과 책의 갯수를 cnt 라는 컬럼으로 가져오세요. select concat(author_fname, ' ', author_l..
[ MySQL ] count, sum, avg, max, min 함수 사용법 1. count( ) : 특정 컬럼, 혹은 테이블에 몇 개의 데이터가 들어있는지 알려주는 함수 select count( [ 컬럼명 ] ) from [ 테이블명 ]; 예제 1 ) books 테이블의 데이터 갯수는? select count(*) from books; 2. sum( ) : 특정 컬럼의 값을 모두 더하여 반환하는 함수 select sum( [ 컬럼명 ] ) from [ 테이블명 ]; 예제 2 ) 이 테이블의 페이지수 총 합은? select sum(pages) from books; 3. avg( ) : 특정 컬럼의 값들의 평균값을 계산해주는 함수 select avg( [ 컬럼명 ] ) from [ 테이블명 ]; 예제 3 ) 이 테이블의 책 페이지수 평균은? select avg(pages) from..
[ MySQL ] 문자열 검색에 유용한 like 사용법 - like : 특정 문자가 포함되어 있는 데이터를 검색할 때 사용한다. - like 사용법 1) 특정 문자로 시작하는 데이터 검색 select [ 컬럼명 ] from [ 테이블명 ] where [ 컬럼명 ] like '특정 문자열%; 2) 특정 문자로 끝나는 데이터 검색 select [ 컬럼명 ] from [ 테이블명 ] where [ 컬럼명 ] like '%특정 문자열; 3) 특정 문자 포함 데이터 검색 select [ 컬럼명 ] from [ 테이블명 ] where [ 컬럼명 ] like '%특정 문자열%; - like 예제 예제 1) the로 시작하는 책만 가져오세요. select * from books where title like 'the%'; 예제 2) 책 제목에 퍼센트 기호가 있는 책을 가져..
[ MySQL ] 데이터 중복 제거 distinct - distinct : MySQL에서 중복된 데이터를 제거하기 위하여 사용한다. - distinct 사용법 select distinct [ 컬럼명 ] from [ 테이블명 ]; - distinct 예제 예제 1) author_lname 의 이름을 중복 없이 가져오세요. select distinct author_lname from books; 예제 2) 작가의 full_name을 중복없이 가져오세요. select distinct concat(author_fname, ' ', author_lname) as full_name from books; 예제 3) author_fname 의 갯수를 출력하세요 select count( distinct author_fname ) as count from books;