본문 바로가기

전체 글172

MySQL 컬럼 자동 시간 기록: Default 설정으로 손쉬운 데이터 관리 상품리뷰데이터를 관리하는 테이블을 만들자 필요한 컬럼은?id, 작성코멘트, 리뷰작성시간, 리뷰 수정시간... else...  created_at 컬럼리뷰작성시간 - 데이터 입력되었을때의 시간이 기록되게  now()를 쓰면 되겠구나INSERT INTO comment(content,created_at)values('최고입니다.',now()); 매번 now() 쓰기 번거롭다. 자동으로 들어가는 방법 없을까?  컬럼 설정 dafault값에 now() 입력INSERT INTO comment(content)values('별점 5개.');자동으로 created_at에 데이터 저장시간도 기록 됩니다. updated_at 컬럼 데이터를 수정했을때의 시간도 기록하고싶다면?   컬럼 설정 dafault값에 now() on.. 2024. 12. 2.
날짜 예제 더보기INSERT INTO orders (customer_name, product_name, order_date, delivery_date) VALUES('김철수', '노트북', '2023-10-01 14:30:00', '2023-10-05'),('이영희', '스마트폰', '2023-10-02 09:15:00', '2023-10-07'),('박준혁', '태블릿', '2023-10-03 16:45:00', '2023-10-09'),('최수진', '헤드폰', '2023-10-04 11:00:00', '2023-10-10'),('정우진', '키보드', '2023-10-05 18:20:00', '2023-10-12'),('윤지민', '스마트워치', '2023-10-06 10:30:00', '2023-10-10'.. 2024. 12. 2.
MySQL 요일 추출 함수 3가지 dayname(), weekday(), dayofweek() 요일 추출의 3가지 방법  dayname(order_date)   SELECT *, dayname(order_date)from orders; 'Sunday', 'Monday' ... 'Saturday'로 반환 weekday(order_date)SELECT dayname(order_date),WEEKday(order_date)FROM orders o ;월 0, 화 1, 수 2, 목 3, 금 4, 토 5, 일 6 으로 반환 DAYOFWEEK(order_date)SELECT dayname(order_date),WEEKday(order_date)FROM orders o ;월 2 화 3 수 4 목 5 금 6 토 7 일 1으로 반환 -- 주문이 이루어진 날짜와 요일 조회 한글로 반환하기  SELECT order_d.. 2024. 12. 2.
MySQL 날짜와 시간 조회, 가감산, 합계 함수 현재를 기준으로 조회현재 날짜와 시간을 조회하기 now()SELECT now();localtime = 한국 (KST) UTC+9시간이 아닌 UTC 세계 표준 시간 기준 현재 날짜와 시간이 나옵니다.   UTC란? 전 세계적으로 통일된 시간 기준을 제공하며 컴퓨터 시스템과 서버 간의 시간 동기화, 네트워킹에서 데이터 기록, 로그 관리, 시간 동기화 등에 필수적으로 사용됩니다.  UTC는  ISO 8601 표준에 따라 날짜와 시간을 표현하는 데 사용되며, "2023-12-24T15:00:00Z"와 같은 형식으로 나타낼 수 있습니다. 여기서 'Z'는 UTC를, 'T'는 날짜와 시간을 구분합니다. TimeStamp 에선 YYYY-MM-DD HH:MM:SS  로 반환됩니다. 현재 날짜만 조회 curdate()SE.. 2024. 11. 29.
키워드 예제 3 -- 1980년 이전에 발행된 책을 가져오세요.SELECT *FROM books bwhere released_year    -- eggers 나 chabon이 쓴 책을 가져오세요.SELECT *FROM books bwhere author_lname ='Eggers' or author_lname = 'Chabon';  ★더 깔끔한 코드! 항목 추가되도 수정하기도 편하고 보기도 편한 INSELECT *FROM books bWHERE author_lname in('Eggers','Chabon');  -- lahiri가 썼고, 2000년 이후에 발행된 책을 가져오세요.SELECT *FROM books bwhere author_lname ='Lahiri' and released_year > 2000;  -- 페이.. 2024. 11. 29.
MySQL In 키워드 -- eggers 나 chabon이 쓴 책을 가져오세요.SELECT *FROM books bwhere author_lname ='Eggers' or author_lname = 'Chabon'; 다른 작가님이 쓴 책도 더 불러오려니 한없이 길어지는 [or author_lname = '다른작가']구절... 보기도 편하고 추가하기도 편한 INSELECT *FROM books bWHERE author_lname in('Eggers','Chabon');제외하고 불러오려면 Not inSELECT *FROM books bWHERE author_lname not in('Eggers','Chabon');  * NULL 처리에 주의!NOT IN을 사용할 때 NULL 값이 포함된 경우 예상치 못한 결과가 나올 수 있습니다... 2024. 11. 29.
MySQL Case 키워드 조건이 2개정도라면? IF()함수 MySQL if() 함수-- 데이터를 가공할때 Yes or No 2가지 상황에 대해서 처리하는 함수 if()-- books 테이블에서 페이지수가 300페이지 이상인 책은 '긴 책'이라고 하고,     그렇지 않으면 '짧은 책'이라고 하자. 컬럼이maeilcoding.tistory.com 그런데 조건이 3개 이상이라면..?엑셀이였다면 ifs()나 구버전에선 지저분해보이지만 if(if(if(...)))를 썼었는데 SQL문에서는 어떻게 사용할까?  -- stock_quantity가 0이상 50이하면 *,-- 51이상이고 100 이하 **,-- 101 이상이면 ***-- 새로운 컬럼 stock을 만들어 보여주세요.SELECT *, CASE when stock_quantity .. 2024. 11. 29.
MySQL ifnull()함수 -- stock_quantity 에 null이 있으면 0으로 나오게, 새로운 컬럼 stock_quantity2를 만드세요SELECT *,ifnull(stock_quantity,0)as stock_quantity2FROM books b ;  -- null이 있을경우 다른 값으로 세팅해주는 함수 ifnull() ifnull(stock_quantity,0)stock_quantity컬럼의 데이터가 null이면 0 으로 반환ifnull(stock_quantity,'문자열')'문자열'로 반환도 가능합니다! 2024. 11. 29.
MySQL if() 함수 -- 데이터를 가공할때 Yes or No 2가지 상황에 대해서 처리하는 함수 if()-- books 테이블에서 페이지수가 300페이지 이상인 책은 '긴 책'이라고 하고,     그렇지 않으면 '짧은 책'이라고 하자. 컬럼이름은 book_type   SELECT *, if(pages>=300,'긴 책','짧은 책') as book_typeFROM books b ;  pages>=300,'긴 책','짧은 책') 조건TRUEFALSE 페이지 수가300 이상이면 '긴 책'아니면 '짧은 책' 그럼 3가지 이상의 상황은?Case문 확인하기 2024. 11. 29.