본문 바로가기

아옳옳의 코딩공부/아옳이의 데이터베이스 MySQL

2021-05-27 MySQL 데이터베이스 내장함수

반응형

여러가지 함수가 있다 모든 함수를 다 외워서 사용하면 좋지만 그렇게 하기에는 힘드니 이런 함수가 있다 라고 이해하고 필요할때 찾아서 사용하도록 하면된다 .

제어흐름 함수

@IF (수식 , 참 , 거짓) 

수식이 참이면 두번쨰 인수 반환 거짓으면 세 번째 인수 반환

@IFNULL (수식1 , 수식 2)

수식1일 NULL이 아니면 수식1을 반환 , 수식1일 NULL이면 수식2 반환 

 


@NULLIF(수식1, 수식2) 

수식1 과 2과 같으면 NULL , 따르면 수식1 반환


@CASE... WHEN...ELSE...END

연산자이다..  자바에서 스위치문 생각하면 된다. 

문자열 함수

@ASCII(아스키코드), CAHR(숫자)

문자의 아스키코드 값을 반환 또는 숫자의 아스키코드값 반환 

@BIT_LENGTH(문자열) ,CHAR_LENGTH(문자열)★,LENGTH(문자열)

MySQL은 기본적으로 UTF-8코드를 사용하기때문에 영문은 1바이트 한글은 3바이트를 할당

BIT_LENGTH 할달된 비트 크기를 반환

CHAR_LENGTH 문자개수 반환

LENGTH 할당된 바이트수 반환

 

@CONCAT(문자열1, 문자열2, ... ) CONCAT_WS ('구분자' , '문자열1','문자열2',...) 

CONCAT문자열합치는 기능이다. 

CONCAT_WS  문자열을 구분자를 통하여 합쳐줌 

 

@ELT(위치, 문자열1, 문자열2, ... ) 첫번째 인수인 위치에 적힌 숫자를 보고 그 숫자번째 문자열 반환 

FIELD(찾을_문자열, 문자열1, 문자열2, ....) 찾을 문자열 위치를 반환 없으면 0 반환 

FIND_IN_SET(찾을 _문자 열, 문자열_리스트)   찾을 문자열을 문자열 리스트에서 찾아 반환 (띄우면 안됨) 

INSTR(기준 _ 문자열 , 부분_문자열) 기준 문자열에서 부분 문자열을 찾아 그 시작 위치를 반환 

LOCATE(부분 _ 문자열 , 기준_ 문자열) INSTR동일 하지만 파라미터 순서 반대 

 

@FORMAT(숫자, 소수점_자릿수) 

숫자를 소수점_자릿수 까지 표현 하고 1000단위마다 쉼표찍음 ( 반올림 )

@LOWER(문자열), UPPER(문자열)

대문자를 소문자로 소문자를 대문자로 바꿈

 

@INSERT(기준 _ 문자열 , 위치 , 길이 , 삽입할 _ 문자열) 

기준 문자열의 위치부터 길이만큼 지우고 삽일 할 문자를 끼워 넣음 

@LEFT(문자열 , 길이 ) , RIGHT ( 문자열,길이) 

왼쪽 또는 오른쪽 길이만큼 반환 

 

@BIN(숫자) , HEX(숫자) , OCT(숫자) 

2진수 , 16진수 , 8 진수 값을 반환 

 

@LPAD(문자열, 길이, 채울_문자열) , RPAD(문자열, 길이 , 채울_문자열) 

문자열을 길이만큼 채우고 나머지를 채움 

@LTRIM(문자열), RTRIM(문자열) 

왼쪽 또는 오른쪽 공백을 제거해버림 (중간 공백은 제거되지 않음)

@TRIM(문자열), TRIM(방향 자를 _ 문자열 FROM 문자열) 

TRIM(문자열) 앞뒤 공백제거

TRIM(방향 자를 _ 문자열 FROM 문자열) 

LEADING 앞쪽 , BOTH 양쪽 ,TRAILING 뒤쪽에 해당 문자열을 자름

@REPEAT(문자열, 횟수 ) 

문자열 횟수만큼 반복

 

@REPLACE( 문자열 , 원래 _ 문자열 , 바꿀 _ 문자열) 

@REVERSE(문자열)

문자열 거꾸로 반환 

@SPACE(길이)

길이만큼 공백 반환 

@SUBSTRING(문자열, 시작위치 , 길이 ) 또는 SUBSTRING(문자열 FROM 시작위치 FOR 길이 ) ★

문자열 시작위치부터 길이만큼 반환

수학 함수 

@CEILING(숫자) , FLOOR(숫자), ROUND(숫자)

CEILING 올림

FLOOR 내림

ROUND 반올림

@MOD(숫자1 , 숫자2) 또는 숫자 1 % 숫자2 또는 숫자1 MOD 숫자2

나머지 연산자 

@RAND( ) 

랜던숫자임 0~1 미만 실수 구함

#교재에 몇가지 더 있음 굳이 필요 없을거 같아 생략함

날짜/시간 함수

@ADDDATE(날짜, 차이) , SUBDATE(날짜, 차이)

@ADDTIME(날짜/시간, 시간) , SUBTIME(날짜/시간, 시간)

날짜/시간 기준으로 시간을 더하거나 뺀 결과를 반환

@TIME_TO_SEC(시간)  ★

시간을 초 단위로 변경해줌 

 


@CURDATE( ) CURTIME( ), NOW( ) , SYSDATE( ) 

CURDATE 현재 연 월 일 반환

CURTIME 시 분 초 반환

NOW( ) , SYSDATE( )  현재 연 월 일 시 분 초 반환

#교재에 몇가지 더 있음 굳이 필요 없을거 같아 생략함

시스템 정보 함수

@USER( ) , DATABASE( )

현재 사용자와 현재 선택된 데이터 베이스 반환 

@SLEEP(초)

잠깐 멈춤 ( 쓰레드에서 슬립과 동일) 

@VERSION( ) 

현재 MySQL 버전 출력

 

#교재에 몇가지 더 있음 굳이 필요 없을거 같아 생략함


JSON이란 ?

웹 환경이나 모바일 응용 프로그램 등에서 데이터를 교환하기 위해 만든 개방형 표준 포맷

JSON으로 작성한 데이터는 속성(KEY)과 값(value)이 쌍으로 구성

JSON은 자바스크립트 언어에서 파생되었지만 특정한 프로그래밍 언어에 종속되지 않은 독립적인 데이터 포멧

제이슨 실습 39페이지는 나중에 물어보고 해야될거 같음 

 

 

대용량 데이터 저장

(자세한 사항은 교재 참조하자) 정리 하기가 어렵다... 

 일단 먼저 대용량 파일이들어갈곳 

이렇게 설정해주고 실제로 설정을 해주어야 한다 , 

파일 위치는 cmd로 찾아 볼수도 있고 programdata/mySQL에서 찾을수 있다.  참고로 프로그램데이터는 숨김파일이므로 설정사항 변경한뒤에 열어 볼수 있음

my.ini 파일을 열어서 Ctrl + f 눌러 변경해야될 사항들 찾아줌 

1024M으로 변경 

경로 설정해준뒤에 바탕하면에 텍스트 파일로 저장해서 다시 복사하여 덮어씌워 준다 

(그냥 저장하면 저장이 안되기때문이다) 

 

관리자모드로 MySQL 서버 재시작 

그리고 나서 아까 지정한 경로에 파일을 넣어주고 파일주소값을 참조해주면 된다 .

동영상을 확인이 불가능 하지만 텍스트는

이렇게 미리보기로 볼수도 있고

오른쪽 버튼 클릭후

이렇게 확인 할수도 있다 .

 

반응형