DB 12

학습 // DB // MySQL // NativeFunction // System

업데이트 :: 2018.10.04 시스템정보함수USER, DATADASEFOUND_ROWSROW_COUNTVERSIONSLEEP시스템정보함수USER, DATADASEUSER()= SESSION_USER(), CURRENT_USER()DATADASE()= SCHEMA()SELECT CURRENT_USER(), DATABASE(); FOUND_ROWSFOUND_ROWS()바로 앞의 SELECT문에서 조회된 행의 개수USE sqlDB; SELECT * FROM userTBL; SELECT FOUND_ROWS(); ROW_COUNTROW_COUNT()바로 앞의 INSERT, UPDATE, DELETE문에서 입력, 수정, 삭제된 행의 개수CREATE, DROP문은 0을 반환SELECT문은 -1을 반환USE sql..

DB/MySQL 2018.10.04

학습 // DB // MySQL // NativeFunction // Date

업데이트 :: 2018.10.04 날짜시간함수ADDDATE, SUBDATEADDTIME, SUBTIMECURDATE, CURTIME, NOW, SYSDATEYEAR, MONTH, DAY, HOUR, MINUTE, SECOND, MICROSECONDDATE, TIMEDATEDIFF, TIMEDIFFDAYOFWEEK, MONTHNAME, DAYOFYEARLAST_DAYMAKEDATE, MAKETIMEPERIOD_ADD, PERIOD_DIFFQUARTERTIME_TO_SEC날짜시간함수ADDDATE, SUBDATEADDDATE(날짜, 차이)= DATE_ADD()SUBDATE(날짜, 차이)= DATE_SUB()SELECT ADDDATE('2020-01-01', INTERVAL 31 DAY), ADDDATE('20..

DB/MySQL 2018.10.04

학습 // DB // MySQL // NativeFunction // Math

업데이트 :: 2018.10.04 수학함수ABSCEILING, FLOOR, ROUNDCONVDEGREES, RADIANS, PIMODPOW, SQRTRANDSIGNTRUNCATEACOS, ASIN, ATAN, ATAN2, SIN, COS, TANEXP, LN, LOG, LOG, LOG2, LOG10수학함수ABSABS(숫자)숫자의 절대값SELECT ABS(-100); CEILING, FLOOR, ROUND올림, 내림, 반올림SELECT CEILING(4.7), FLOOR(4.7), ROUND(4.7); 5, 4, 5 각각 반환CONVCONV(숫자, 원래진수, 변환진수)SELECT CONV('AA', 16, 2), CONV(100, 10, 8); DEGREES, RADIANS, PIDEGREES(숫자)라디안..

DB/MySQL 2018.10.04

학습 // DB // MySQL // NativeFunction // String

업데이트 :: 2018.10.04 문자열함수ASCII CHARBIT_LENGTH, CHAR_LENGTH, LENGTHCONCAT, CONCAT_WSELT, FIELD, FIND_IN_SET, INSTR, LOCATEFORMATBIN, HEX, OCTINSERTLEFT, RIGHTUCASE, LCASE, UPPER, LOWERLPAD, RPADLTRIM, RTRIM, TRIMREPEATREPLACEREVERSESPACESUBSTRING, SUBSTRING_INDEX문자열함수ASCII CHARASCII(아스키코드)CHAR(숫자)SELECT ASCII('A'), CHAR(65); 65와 'A'를 반환BIT_LENGTH, CHAR_LENGTH, LENGTHBIT_LENGTH(문자열) :: 비트크기CHAR_LEN..

DB/MySQL 2018.10.04

학습 // DB // MySQL // NativeFunction // Control

업데이트 :: 2018.10.04 제어흐름IFIFNULL, NULLIFCASE ~ WHEN ~ ELSE ~ END제어흐름IFIF(식, 참, 거짓)SELECT IF(100>200, '참이다', '거짓이다'); '거짓이다' 출력IFNULL, NULLIFIFNULL(수식1, 수식2)수식1이 NULL이면 수식2반환, NULL이 아니면 수식1반환NULLIF(수식1, 수식2)수식1과 수식2가 같으면 NULL 다르면 수식1 반환SELECT IFNULL(NULL, '널이군요'), IFNULL(100, '널이군요'); '널이군요', 100 각각 출력SELECT NULLIF(100, 100), IFNULL(200, 100); NULL, 200 각각 출력CASE ~ WHEN ~ ELSE ~ ENDSELECT CASE 10 ..

DB/MySQL 2018.10.04

학습 // DB // MySQL // Casting

업데이트 :: 2018.10.04 데이터형식 변환함수개념예제날짜변환계산예제암시적형변환데이터형식 변환함수개념CAST ( expresstion AS 데이터형식 [(길이)]) CONVERT ( expresstion, 데이터형식 [(길이)]) 예제use sqlDB; SELECT AVG(amount) AS '평균구매개수' FROM buyTBL; SELECT CAST(AVG(amount) AS SIGNED INTEGER) AS '평균구매개수' FROM buyTBL; SELECT CONVERT(AVG(amount), SIGNED INTEGER) AS '평균구매개수' FROm buyTBL; 날짜변환SELECT CAST('2020$12$12' AS DATE); SELECT CAST('2020/12/12' AS DATE)..

DB/MySQL 2018.10.04

학습 // DB // MySQL // Variable

업데이트 :: 2018.10.04 변수사용변수예제LIMIT문 변수사용PREPARE문변수사용SET @변수이름 = 변수값; -- 변수의 선언 및 값 대입 SELECT @변수이름; -- 변수값 출력 변수예제use sqlDB; SET @myVar1 = 5; SET @myVar2 = 3; SET @myVar3 = 4.25; SET @myVar4 = '가수이름=>'; SELECT @myVar1; SELECT @myVar2 + @myVar3; SELECT @myVar4, Name From userTBL WHERE height > 180; LIMIT문 변수사용SET @myVar2 = 3; -- LIMIT은 변수를 사용할 수 없음 SELECT @myVar4, Name From userTBL WHERE height > 1..

DB/MySQL 2018.10.04

학습 // DB // MySQL // DataType

업데이트 :: 2018.10.02 숫자 데이터형식문자 데이터형식날짜와시간 데이터형식기타 데이터형식LONGTEXT, LONGBLOB숫자 데이터형식BIT(N)1~64 비트N/8 바이트TINYINT정수1 바이트 ( -128 ~ 127 )SMALLINT정수2 바이트MEDIUMINT정수3 바이트INT / INTEGER정수4 바이트BIGINT정수8 바이트FLOAT소수점 아래 7자리까지4 바이트DOUBLE / REAL소수점 아래 15자리까지8 바이트DECIMAL(m, [d]) / NUMERIC(m, [d])전체 자리수 (m) / 소수점 이하 자리수 (d)5 ~ 17 바이트문자 데이터형식CHAR(n)고정길이 문자형 ( 속도가 조금 더 빠를수 있음 )1~255 바이트VARCHAR(n)가변길이 문자형1~65535BINAR..

DB/MySQL 2018.10.04

학습 // DB // MySQL // INSERT, UPDATE, DELETE

업데이트 :: 2018.10.02 INSERTINSERT INTO .. SELECTAUTO_INCREMENTUPDATEDELETE FROMINSERTINSERT [into] 테이블[(열1, 열2, ...)] VALUES (값1, 값2, ...) 테이블 이름 다음에 나오는 열은 생략이 가능입력순서에 값순서를 맞춰야함INSERT INTO testTBL(id, userName) VALUES (2, '지성'); INSERT INTO testTBL (userName, age, id) VALUES('지성', 26, 3); 여러개의 값을 한번에 넣고 싶을때INSERT INTO testTBL VALUES (값1, 값2, ...), (값1, 값2, ...), (값1, 값2, ...); INSERT INTO .. SELE..

DB/MySQL 2018.10.02