본문 바로가기

분류 전체보기208

[MySQL] 테이블 설정 _ Datatype TIMESAMP MySQL 테이블 설정하기 createdAt : 처음 생성될 때 설정Datatype을 TIMESAMP로 지정하고 디폴트 값을 now()로 입력하면데이터를 저장할 때 해당 값을 입력하지 않아도 데이터를 입력한 시간으로 자동 저장된다. (테이블 Default 값을 now()로 입력하고 Apply 하면 CURRENT_TIMESTAMP로 자동 변환된다.)  updateAt : 데이터가 수정될 때 설정Datatype을 TIMESAMP로 지정하고 디폴트값을 now() on update now()를 입력하면해당 컬럼에 데이터를 변경(수정)할 때 시간이 업데이트돼서 저장된다(테이블 Default 값을 now() on update now()로 입력하고 Apply하면 CURRENT_TIMESTAMP ON UPDATE CU.. 2024. 5. 16.
[MySQL] SQL 날짜와 시간 처리하는 함수들 _ dayofweek(), now(), curdate(), date_add(), date_sub() 날짜와 시간 처리하기 DB에서 년, 월, 일  다루기 _birthdate = DATE- day(), month(), year(), dayname(), dayofweek() -- 날짜만 가져올때select name, day( birthdate )from people;-- 월만 가져올때select name, month( birthdate )from people;-- 년도만 가져올때select name, year( birthdate )from people;-- 요일을 문자열로 가져올때select name, dayname( birthdate )from people;-- 요일을 숫자로 가져올때 _글로벌하게 사용하기 위해서 숫자로 사용한다.-- 각 국가의 언어로 클라이언트 개발자가 숫자에서 글로 바뀌게 만든다.se.. 2024. 5. 16.
[MySQL] SQL 조건문 사용하기 _case, if SQL 조건문 사용하기주의!!- 조건문을 통해 새로운 컬럼을 만들어 주는 것이기 때문에   select * , 콤마 필수로 신경 써줘야 한다!- 스키마 설정한 컬럼이 아니면 에러난다!   테이블에 원래 있던 컬럼만 사용이 가능하고, 가공된 컬럼은 사용 할 수 없다. case: case와 end는 한쌍이며 select 아래 위치, when - then은 항상 같이 사용  else는 모든 조건이 True가 아닌 경우 else의 결괏값을 반환한다.  (else가 없으면 null 반환된다.): 컬럼값이 같은 and는 between a and b 로도 사용이 가능하다  _like 키워드 제외: 컬럼값이 같은 or는 in (특정값, 특정값,...)로도 사용이 가능하다  _like 키워드 제외-- 출판년도가 2000.. 2024. 5. 14.
[MySQL] SQL null인 데이터를 가져오기, 바꾸기 _ is null, ifnull SQL null인 데이터를 가져오기, 바꾸기 SQL null인 데이터를 가져오기- is null: null 인 데이터 가져올때 주의 할 점!-- 틀린 예)select *from bookswhere stock_quantity = null;  위에 처럼 틀린 코드를 적어도 오류가 나지 않는다. 이것이 바로 버그다!  그래서 , 신경써서 is null 을 써줘야한다.-- 올바른 예)select *from bookswhere stock_quantity is null;   SQL null이 아닌 데이터 가져오기- not-- 재고가 null이 아닌 데이터를 가져오시오.select *from bookswhere stock_quantity is not null;  SQL null인 데이터 바꾸기- ifnull(): N.. 2024. 5. 14.
[MySQL] SQL 데이터 그룹하여 데이터 사용하기 _group by, having SQL 데이터 그룹하여 데이터 사용하기 _group by group by: ~ 별로 묶어서 ... 하자: 데이터를 집계하는 키워드: 카테고리컬 데이터의 유형별로 개수를 알고 싶을 때 컬럼에 데이터를 그룹화시켜 사용한다. -- 각 작가의 full name 별로 (author_fnmae, author_lname)-- 해당 작가가 최조로 책을 발행한 년도는 몇년도 입니까?select author_fname, author_lname, min( released_year ) min_yearfrom booksgroup by author_fname, author_lnameorder by min_year; having: group by한 데이터에 조건처리를 하는 경우 사용한다  (= group by 한 결과에 조건을 붙.. 2024. 5. 14.
[MySQL] Sub Query 사용하기 Sub Query 사용하기  Sub Query : 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문 이다.   (= 쿼리 내부에 포함되어 있는 select 문) ※ 서브쿼리는 메인쿼리의 컬럼을 사용 가능 / 메인쿼리는 서브쿼리의 컬럼 사용 불가능-- 페이지수가 가장 긴 책의 제목은?-- 잘못된 SQLselect title, max(pages)from books ;-- max값 구해서 sub query 하기select max(pages) from books;select *from bookswhere pages = (select max(pages) from books); 2024. 5. 14.