일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- mysql
- spring
- Thymeleaf
- string
- 배열
- Database
- 문자열
- git
- React
- Java
- Array
- jquery
- jsp
- 조건문
- MVC
- SpringBoot
- Controller
- View
- API
- Scanner
- Eclipse
- html
- 이클립스
- Board
- Uipath
- db
- JDBC
- rpa
- 상속
- Oracle
- Today
- Total
유정잉
22일차 MySQL [ DB 총정리, 면접 준비, 변수선언 set @, IF문, while문 ] 본문
[ 변수선언 (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)에 반응하여 자동으로 실행되는 코드
장점 : 데이터 무결성 강화, 사용자 편의성, 데이터 보관도 쉬움
[ 프로시저와 함수의 차이 ]
함수 : 함수는 반환값이 있어야 한다.
'네이버 클라우드 부트캠프 > 복습 정리' 카테고리의 다른 글
24일자 HTML < 기본 태그, Visual Studio Code > (0) | 2024.03.25 |
---|---|
23일차 JDBC [ DB MySQL과 eclipse 연동 ] (22일차와 연결해서 보기) (1) | 2024.03.22 |
21일차 Java [ 데이터베이스 입출력, DB MySQL과 eclipse 연결 ] (0) | 2024.03.20 |
19일차 MySQL [ view, 스토어드 프로시저, 트리거 ] (1) | 2024.03.18 |
18일차 MySQL [ select, where, join, group order 함수 등 ] (4) | 2024.03.15 |