유정잉

22일차 MySQL [ DB 총정리, 면접 준비, 변수선언 set @, IF문, while문 ] 본문

네이버 클라우드 부트캠프/복습 정리

22일차 MySQL [ DB 총정리, 면접 준비, 변수선언 set @, IF문, while문 ]

유정♡ 2024. 3. 21. 10:32

[ 변수선언 (set @변수) ]

-- 변수 선언 (set @변수)
set @var1 = 10;
set @var2 = 20;

select @var1 from emp; -- 변수 선언 후 쿼리문이랑 연결해서 사용 가능 !
select @var1+@var2; -- 변수끼리 사칙연산 가능 !

 

 

 


[ IF문 THEN END IF (프로시저와 주로 사용 됨) ]

-- IF문 / END IF (프로시저에서 주로 사용 됨)
delimiter //
create procedure pr1()
begin 
	if 5=5 then 
		   select '5는 5와 같다';
	end if;
end //
delimiter ;

call pr1();

  [ declare 변수 선언을 이용한 IF문 ] 

delimiter //
create procedure pr2()
begin
	declare num int; -- 변수 선언(프로시저에서 변수선언은 declare)
    set num=100; -- 변수에 값 대입
    if num=100 then 
		select '100이다';
	else	
		select '100아니다';
	end if;
end //
delimiter ;

call pr2();

 

 


[ case when then 절 ] 

-- if ~then 
-- case when then
delimiter //
create procedure pr3()
begin
	declare num int; -- 변수 선언 (자료형 int)
    declare grade char(1); -- 변수 선언 (자료형 char)
    set num=80; -- 값 대입
case 
	when num>=90 then 
		set grade='A';
	when num>=80 then 
		set grade='B';
	else 
		set grade='F';
end case;
select num, grade;
end //
delimiter ;

call pr3();

 

 

 


[ while do 반복문 ]

delimiter //
create procedure pr4()
begin
	declare i int;
    declare sum int;
    set i=1;
    set sum=0;
    
    while(i<=10) do
		set sum=sum+i;
        set i=i+1;
	end while;
    
    select sum;
end //
delimiter ;

 

 


[ 저장 함수 stored ]

-- 스토어드 프로시저 -- 저장 프로시저(stored procedure)
-- 스토어드 함수 -- 저장 함수(stored function)
delimiter //
create function addin(n1 int, n2 int)
	returns int
begin
	return n1+n2;
end //
delimiter ;

select addin(4,5) as '두수 합';

 

 

 


[ select into 절 프로시저 ]

delimiter //
create procedure pr5(in v_stu_no char(9))
begin 
	declare v_stu_name varchar(12);
    select stu_name into v_stu_name
    from student 
    where v_stu_no=stu_no;
    
    select v_stu_name from student;
end //
delimiter ;

select * from student;

call pr5(20131001);

 

 


[ DM 총정리 & 면접 준비 ]

[ DB ]

[ DDL, DML, DCL ]

※ DDL : 도메인, 테이블, 뷰 변경 제거 하는 언어 (create, drop, alter)

※ DML : 데이터베이스에 저장된 데이터를 검색, 삽입, 삭제 갱신하는 언어(select, insert, update, delete)

※ DCL : 데이터 관리를 목적으로 사용하는 언어(grant, commit, rollback)

 

[ INNER JOIN 과 OUTER JOIN의 차이점 ]

※ INNER JOIN : 조인 되는 테이블간의 서로 연결되는 칼럼 값이 존재 해야만 테이블에 데이터를 가져올 수 있다.

※ OUTER JOIN : 조인 되는 테이블간의 서로 연결되는 칼럼 값이 존재 하지 않아도(=null) 데이터를 가져올 수 있다.

 

[  프로시저와 트리거의 차이점 ]

※ 프로시저 procedure : 절차형 저장형 SQL , 미리 데이터베이스 서버에 SQL 명령을 해놓고 프로시저를 실행해 SQL 명령을 간단하게 실행할 수 있다. 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합. 모드가 존재 한다 SP.

   장점 : 하나의 요청으로 여러 SQL문 실행 가능 -> 네트워크의 부화를 줄여줌, 개발 업무 구분.

※ 트리거 trigger : 이벤트 발생 작업 , 어떠한 트랜잭션이 일어날 때 반응하여 다른 명령을 실행하게 하는 기능, 테이블에 대한 이벤트(insert, update, delete)에 반응하여 자동으로 실행되는 코드 

   장점 : 데이터 무결성 강화, 사용자 편의성, 데이터 보관도 쉬움

 

[ 프로시저와 함수의 차이 ]

함수 : 함수는 반환값이 있어야 한다.

 

 

 

 

자바 &amp; DB 총정리 면접준비.pdf
0.18MB

728x90