반응형

프로그래밍/Database 59

MySQL TIME 관련 함수(시간 관련 함수)

TIME 관련 함수 ADDTIME() ADDTIME( expr1, expr2 ); SELECT ADDTIME('2020-01-01 23:59:59', '1:1:1'); 쿼리 결과 SUBTIME() SUBTIME(expr1, expr2 ) SELECT SUBTIME('2020-01-01 23:59:59', '1:1:1'); 쿼리 결과 CURTIME(), CURRENT_TIME(), CURRENT_TIME SELECT CURTIME(), CURRENT_TIME( ), CURRENT_TIME; 쿼리 결과 TIMEDIFF() expr1 – expr2을 계산한 시간을 반환 TIMEDIFF(expr1, expr2 ) SELECT TIMEDIFF('23:23:59', '12:11:10'); 쿼리 결과 MAKETIME..

MySQL DATE FORMAT 함수(날짜 포맷 함수)

DATE FORMAT SELECT DATE_FORMAT('2020-04-15 15:15:15', '%W %M %Y'); 쿼리 결과 SELECT DATE_FORMAT('2020-04-15 15:15:15', '%D %y %a %d %m %b %j'); 쿼리 결과 STR_TO_DATE() 기본 형식 STR_TO_DATE( str, format ) SELECT STR_TO_DATE('28,04,2020', '%d,%m,%y'); 쿼리 결과 MAKEDATE() 년도에서 정수만큼 지난 날짜를 구함 기본 형식 MAKEDATE( year, dayofyear ) SELECT MAKEDATE(2020, 31), MAKEDATE(2020, 32), MAKEDATE(2020, 0); 쿼리 결과 SYSDATE() 함수를 실행..

MySQL Date 함수(날짜 함수)

Date 함수 CURDATE(), CURRENT_DATE(), CURRENT_DATE SELECT CURDATE(), CURRENT_DATE(), CURRENT_DATE; 쿼리 결과 SELECT DATE(); SELECT DATE('2020-04-15 10:10:20'); 쿼리 결과 ADDDATE(),ADDDATE(), DATE_ADD() 기본 형식 ADDDATE( date, INTERVAL expr unit ) ADDDATE( expr, days ) DATE_ADD( date, INTERVAL expr unit ) SELECT ADDDATE(CURDATE(), 30); 쿼리 결과 SELECT ADDDATE(CURDATE(), INTERVAL 1 MONTH); 쿼리 결과 SUBDATE(), SUBDATE..

MySQL 제어 함수 - IF, IFNULL, NULLIF

IF() 함수 표현식1 이 참이면, 표현식2를 반환 표현식1 이 거짓이면, 표현식3을 반환 기본 형식 IF ( 표현식1, 표현식2, 표현식 3 ) Orders 테이블 데이터 Items 테이블 데이터 고객이 주문한 판매금액이 10000원을 초과하면 배송료를 면제하기 위한 질의문을 작성하시오. 단, 결과 테이블은 주문번호(orders.num), 계정(orders.customer), 주문물품(orders.item), 판매금액, 배송비(무료배송일 경우, ‘무료배송’, 유료 배송비는 2500)를 반환한다. 질의에 필요한 테이블 : orders, items 판매금액 계산 : orders.qty * items.price 배송비를 계산 : IF ( ( orders.qty * items.price ) > 10000, ‘..

MySQL 제어 함수 - CASE

CASE 연산자 속성이름의 값이 WHEN 절의 값과 같으면 반환값을 반환 예외반환값은 WHEN 절의 모든 값과 같지 않은 경우 반환되는 값 기본 형식 1 CASE 속성이름 WHEN 값1 THEN 반환값1 ....... WHEN 값n THEN 반환값n [ ELSE 예외반환값 ] END 기본 형식 2 CASE WHEN 조건1 THEN 반환값1 ....... WHEN 조건n THEN 반환값n [ ELSE 예외반환값 ] END Customer 테이블 데이터 Customer에서 계정에 대한 등급을 확인하되, 등급을 VIP는 최우수고객, Gold는 우수고객, Silver는 일반고객, New는 새내기, NULL인 경우 자료없음으로 표기하시오. SELECT account, CASE grade WHEN 'Gold' TH..

MySQL의 내장 함수

MySQL의 내장 함수 (Build-In Function) 내장함수는 상수나 속성이름을 입력 값으로 받아 단일 값을 결과로 반환 모든 내장 함수는 최초에 선언될 때 유효한 입력 값을 받아야 함 수학 함수의 입력 값 : 정수 또는 실수 선언에 위배된 값이 입력되면 질의는 실행을 중지하고 오류 메시지를 출력 내장함수는 SELECT절과 WHERE절, UPDATE SET절에 사용 가능 데이터 검색과 수정에만 내장함수를 사용 SELECT ... 함수명(인자) FROM 테이블이름 WHERE ... 열이름=함수명(인자) ; UPDATE 테이블이름 SET ... 열이름=함수명(인자) ; 표현식에서 타입 변환 데이터 타입이 다른 피연산자를 처리하기 위하여 연산자에 호환되도록 피연산자의 타입을 변환한다. 일부 변환은 암시..

데이터 수정 및 삭제 (UPDATE, DELETE)

데이터 삽입 (INSERT) 주의 사항 수정하는 속성의 속성값은 같은 도메인이어야 한다. 조건에 맞아 선택된 투플은 모든 수정된다. 한번 수정된 데이터는 복구가 안된다. 테이블에 저장된 데이터를 수정하기 위한 SQL명령어 : UPDATE UPDATE 문 테이블에 저장된 투플에서 특정 속성 값을 수정 수정할 대상이 되는 속성과 속성값은 SET 다음에 지정 WHERE 절에서 제시된 조건을 만족하는 투플만 수정의 대상 기본형식 UPDATE 테이블이름 SET 속성이름1=값1, 속성이름2=값2, ... [ WHERE 조건 ] ; Items 테이블에 있는 모든 제품의 단가(price)가 5% 인상된 경우, 인상된 내용을 반영하시오. 테이블내의 모든 투플에 적용되는 경우, WHERE 절을 사용하지 않는다. 단가(pr..

데이터 삽입 (INSERT)

데이터 삽입 (INSERT) 주의 사항 데이터를 삽입하기 위하여, 테이블 속성의 정의를 확인하여야 함. NULL이 가능한 속성은 값을 입력하지 않아도 됨. NOT NULL인 속성은 반드시 값을 입력하여야 함. DBMS는 데이터 유일성을 유지하기 위하여 같은 투플의 삽입을 제한하므로 데이터 작성시 같은 투플을 만들지 않도록 하여야 함. DBMS는 데이터 무결성을 유지하기 위하여 각 속성 도메인에 위배되는 데이터의 삽입을 거절하므로, 도메인에 맞는 데이터 작성이 필요함. 데이터 직접 삽입 속성_리스트와 속성값_리스트의 개수와 순서가 동일하여야 함 속성_리스트와 속성값_리스트의 각 요소는 일대일 대응 속성값_리스트는 생략 가능 테이블을 정의할 때 지정한 속성의 순서대로 속성값_리스트를 작성 속성값_리스트의 속..

반응형