Stored Procedure(저장 프로시저)
Srored Function(저장 함수)
Cursor(커서)
Trigger(트리거)
SQL 변수 사용SET @ 변수이름 = 값; -- 변수의 선언 및 값 대입
SELECT @변수이름
buit-in function
제어 흐름 함수 : 프로그램의 흐름 제어
1-1 : if (수식, 참, 거짓) -> 삼항연산자 스타일
-- 1-1. if(수식, 참, 거짓)
select if(100>200, '참', '거짓');
거짓 출력.
ifnull (수식1, 수식2) : 수식1이 null이 아니면 수식1이 반환, 수식1이 null이면 수식2가 반환
select ifnull(null, 'nul이구나!'), ifnull(100, 'null이 아니네');
결과 : null이구나!, 100
nullif (수식1, 수식2) : 수식1과 수식2가 같으면 null 반환, 다르면 수식1 반환
select nullif(100, 100), nullif(200,100);
결과 : null, 200
2. case ~when ~else ~end : case 연산자 다중분기에서 사용되는 함수와 함께 사용한다.
select case 10
when 1 then '일'
when 5 then '오'
when 10 then '십'
else '에라모르겠다'
end as 'case 연습';
결과 : 십
문자열 ascii(아스키코드), char(숫자)
select ascii('A'), char(65);
결과 : 65, BLOB(--->A)
bit_length(문자열)->비트길이, char_length(문자열)->문자길이, length(문자열)->바이트길이
select bit_length('abc'), char_length('abc'), length('abc');
select bit_length('가나다'), char_length('가나다'), length('가나다');
결과 : 24, 3, 3
결과 : 72, 3, 9
아 으렵네
concat(문자열1, 문자열2, ...), con_cat_ws(구분자, 문자열1, 문자열2)
select concat_ws('*', '2024', '02', '21');
결과 : 2024*02*21
elt(위치, 문자열1, 문자열2,...) -> 원하는 위치의 문자열 반환!
select elt(2, '하나', '둘', '셋');
결과 : 둘
field('찾을 문자열', 문자열1, 문자열2) -> 찾을 문자열의 위치인덱스를 반환
select field('둘', '하나', '셋', '둘');
결과 : 3
locate('둘', '하나둘셋') -> 얘도 위치 찾기
select locate('둘', '하나둘셋');
결과 : 3
instr('하나둘셋', '둘') -> 몇번째위치에서 문자가 시작되는지!
select instr('하나둘셋', '둘');
결과 : 3
bin(숫자), hex(숫자), oct(숫자) 2진수, 16진수, 8진수
select bin(30), hex(30), oct(30);
결과 : 11110, 1E, 36
insert('문자열', n, s, '삽입값') --> n번째 숫자부터 s개 지우고, 삽입값 집어넣어라
select insert('abcdefghi', 3, 4, '!!!!');
결과 : ac!!!!ghi
left(), right() : 왼쪽, 오른쪽 문자열의 길이만큼 반환
select left('abcdefghi', 3), right('abcdefghi', 3);
결과 : abc , ghi
lpad, rpad ('문자열', 몇자를 만들겠다, x방향부터이걸로 채우겠다)-> 문자열 채우기.
select lpad('자바 백엔드 개발자', 15, '##');
select rpad('자바 백엔드 개발자', 15, '##');
결과 : #####자바 백엔드 개발자
결과 : 자바 백엔드 개발자#####
ltrim, rtrim, trim() : 공백 제거
select ltrim(' SQL 프로그래밍'),rtrim('SQL 프로그래밍 ');
결과 : SQL 프로그래밍, SQL 프로그래밍
trim->좌우공백 제거. trim(both'제거할녀석' from '문자열') -> 좌우의 제거할녀석을 제거해준다)
select trim(' 안 녕 '), trim(both '^' from '^^ 재미있네요.^^');
결과 : 안 녕, 재미있네요.
repeat(문자열, 반복횟수) -> 반복
select repeat('SQL', 10);
결과 : SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL
replace(문자열, 원래문자열, 바꿀문자열) -> 문자열 바꾸기
select replace('MySQL 문법 배우기', '문법', '저장 프로그램');
결과 : MySQL 저장 프로그램 배우기
'데이터베이스 개인공부' 카테고리의 다른 글
MySQL - Prepare(변수설정느낌) (0) | 2024.01.23 |
---|---|
MySQL - 함수들2 (1) | 2024.01.23 |
MySQL - 데이터조작어들 (0) | 2024.01.18 |
데이터베이스 - 관계대수 (0) | 2024.01.17 |
데이터베이스 - 관계 데이터 모델(릴레이션, 무결성 제약조건) (0) | 2024.01.16 |