CMD 관리자 권한 -> 파일경로 설정(cd \파일경로) -> mysql 접속 -> source db파일.sql
하면 db내용 불러옮
Inner join -> 다 빼옴
outer join -> 필요한 부분만 뺴오기
cross join -> 행의 갯수 찾는용정도?
concat() 문자열을 이어줌
-- 프로시저 만들고 부르기
use testdb;
drop procedure if EXISTS userproc1;
delimiter $$
create PROCEDURE userproc1(IN username varchar(8))
begin
select * from usertbl where name = username;
end $$
delimiter ;
call userproc1('JSH');
-- 입력 매개 변수가 2개이상
use testdb;
drop procedure if EXISTS userproc1;
delimiter $$
create PROCEDURE userproc1(IN userYear int , IN userHeight int)
begin
select * from usertbl where birthYear > useryear and height > userHeight;
end $$
delimiter ;
call userproc1(1990, 173);
-- IF Else문
use testdb;
drop procedure if exists ifelseproc;
delimiter $$
create procedure ifelseproc(in username varchar(8))
begin
declare byear int; -- 변수 선언
select birthyear into byear from usertbl where name = username;
if(byear >= 1980) then
select '80년대생이야';
else
select '80년대생이 아니야';
end if;
end $$
delimiter ;
call ifelseproc('JSH');
-- Case문
use testdb;
drop procedure if exists caseproc;
delimiter $$
create procedure caseproc(in username varchar(8))
begin
declare byear int;
declare tti char(3);
select birthyear into byear from usertbl where name = username;
case
when (byear%12=4) then set tti = '쥐';
when (byear%12=5) then set tti = '소';
when (byear%12=6) then set tti = '호랑이';
when (byear%12=7) then set tti = '토끼';
when (byear%12=8) then set tti = '용';
when (byear%12=9) then set tti = '뱀';
when (byear%12=10) then set tti = '말';
when (byear%12=11) then set tti = '양';
when (byear%12=0) then set tti = '원숭이';
when (byear%12=1) then set tti = '닭';
when (byear%12=2) then set tti = '개';
when (byear%12=3) then set tti = '돼지';
else set tti = '원숭이';
end case;
select concat(username, '의 띠 ==>',tti);
end $$
delimiter ;
call caseproc('JSH');
-- while문
use testdb;
drop procedure if exists gugutbl;
create table gugutbl (txt varchar(100));
drop procedure if exists whileproc;
delimiter $$
create procedure whileproc()
begin
declare str varchar(100);
declare i int;
declare k int;
set i = 2;
while(i<10) do
set str = '';
set k = 1;
while (k<10) do
set str = concat(str, ' ', i, 'x', k, '=', i*k);
set k = k+1;
end while;
set i = i +1;
insert into gugutbl values(str);
end while;
end $$
delimiter ;
call whileproc();
select*from gugutbl;
'DB' 카테고리의 다른 글
DB VIEW 활용법 - 정리해야 됌 (0) | 2022.04.26 |
---|---|
예약어 글자 크게 하기 (0) | 2022.04.22 |
DB에 쓰이는 쿼리문 (0) | 2022.04.22 |
ERD 모델링해보기 (0) | 2022.04.13 |
MY-SQL 설치 및 설정 (0) | 2022.04.11 |