본문 바로가기
반응형

개발자 :-)/SQL15

[MySQL] 스토어드 프로시저(2) 1. 스토어드 함수 SUM(), CAST(), CONCAT(), CURRENT_DATE() 외에 필요한 기능일 직접 만들어서 사용하는 함수 DELIMITER $$ CREATE FUNCTION 스토어드_함수_이름(매개변수) RETURNS 반환형식 BEGIN 프로그래밍 RETURN 반환값; END $$ DELIMITER ; SELECT 스토어드_함수_이름(); 스토어드 함수는 RETURNS 문으로 반환할 값의 데이터 형식을 지정하고, 본문 안에서 RETURN 문으로 하나의 값을 반환해야한다. 스토어드 함수는 입력 매개변수만 존재하여 IN을 별도로 명시하지 않는다! * 스토어드 프로시저는 입력/출력 매개변수가 존재하니 IN/OUT 명시 SELECT 문 안에서만 호출이 가능하다. * 스토어드 프로시저는 CALL.. 2022. 10. 2.
[MySQL] 스토어드 프로시저 1. 스토어드 프로시저란 MySQL에서 제공하는 프로그래밍 기능 쿼리 문의 집합으로 어떤 동작을 일괄 처리하기 위한 용도로 사용한다. * 자주 사용하는 일반적인 쿼리를 스토어드 프로시저로 묶어 놓고, 필요할 때마다 간단히 호출하여 사용할 수 있다. DELIMITER $$ --구분자 CREATE PROCEDURE 프로시저이름 (IN 또는 OUT 매개변수) BEGIN ... END $$--스토어드 프로시저 종료 DELIMITER ;--종료문자를 다시 세미콜론으로 변경 CALL 프로시저이름 (); * Delimiter : 구분자 MySQL에서는 SQL과 세미콜론(;)을 포함한 여러 문장들로 구성된 복합문인 Each stored Program을 서버로 보내기위해 delimiter를 일시적으로 재정의 해주어야 한.. 2022. 10. 1.
[MySQL] 인덱스 (1) 1. 인덱스란? 데이터를 빠르게 찾을 수 있도록 도와주는 도구 - 클러스터형 인덱스 : 기본키로 구성되며 테이블에 1개만 만들 수 있다. * 반드시 필요한 건 아님 하지만 실무에서는 데이터가 너무 많기 때문에 꼭 필요! 2. 인덱스의 문제점 필요 없는 인덱스를 만들어 데이터베이스가 차지하는 공간만 늘어나고, 인덱스를 이용해서 데이터를 찾는 것이 느려지는 경우가 있다. ex) 책에 비유하면, 찾아보기가 인덱스와 같은 개념일 때, SELECT 단어가 여러 페이지에 언급되므로 찾아보기에 SELECT 가 여러 번 표기되어있을 수 있다. 이때 찾아보기에서 SELECT -> 본문에서 데이터 찾기 -> 찾아보기에서 다음 SELECT -> 본문에서 찾기... 와 같이 인덱스를 이용해서 찾는 것이 느려지는 경우가 있다... 2022. 10. 1.
[MySQL] 가상의 테이블 : 뷰 1. 뷰 데이터베이스 개체 중 하나. window환경에서 바로가기 아이콘 같은 느낌. 가상의 테이블이라고 함. 2. 뷰의 기본 생성 CREATE VIEW뷰 이름 AS SELECT 문; 3. 뷰를 사용하는 이유 1) 보안에 도움이 된다. 사용자의 중요한 개인정보인 연락처, 주소 등의 정보가 없는 뷰를 생성하면 정보를 보호할 수 있다. 2) 복잡한 SQL을 단순하게 만들 수 있다. CREATE VIEW V_memberbuy AS SELECT B.mem_id, M.mem_name, B.prod_name, M.addr, CONCAT(M.phone1, M.phone2) '연락처' FROM buy B INNER JOIN member M ON B.mem_id = M.mem_id; SELECT * FROM V_memb.. 2022. 9. 30.
728x90
반응형