[기본] shop_db의 회원 테이블(member)에서 아이유 회원에 대한 정보만 추출
- SELECT member_name, member_addr FROM member;
SELECT * FROM member WHERE member_name = '아이유'
데이터베이스 개체 : 인덱스, 뷰, 스토어드 프로시저, 트리거 등
트리거 : 잘못된 데이터가 들어가는 것을 미연에 방지
인덱스 개념 및 실습
인덱스 : 데이터가 많을 때 특정 단어를 조회한 뒤 해당하는 곳으로 이동함으로써 결과가 나오는 시간을 획기적으로 단축하는 개체
1. 데이터 조회
- SELECT * FROM member WHERE member_name = '아이유'
2. 인덱스 생성
- CREATE INDEX idx_memeber_name ON member(member_name)
- ON member(member_name) : member 테이블의 member_name 열에 인덱스를 지정하라는 의미
3. 데이터 조회(동일하게 진행)
- SELECT * FROM member WHERE member_name = '아이유'
인덱스를 생성한 후 데이터를 조회한 결과, 아무 변화 없어 보이지만 [Execution Plan] 을 클릭하면 값이 변한 것을 확인할 수 있다.
뷰 개념 및 실습
뷰 : 진짜 데이터와 연결된 가상의 데이터. 바로가기 아이콘과 페이지의 관계 중 바로가기 쪽이 뷰라고 할 수 있다.
1. 뷰 생성
- CREATE VIEW member_view
AS
SELECT * FROM member; - 하단 Output에 초록색 체크 표시가 뜨면 SQL이 제대로 실행되었다는 의미
2. 데이터 조회
- SELECT * FROM member_view;
- 긴 SQL 구문을 단순하게 만들 수 있다.
스토어드 프로시저 개념 및 실습
스토어드 프로시저 : SQL 내에서 일반 프로그래밍 언어처럼 코딩을 가능하게 하는 개체. 프로그래밍 로직을 작성하여 사용자가 지정하는 단어 안에 내용을 묶는다. 그러면 사용자가 특정 단어만 CALL로 불러도 간단하게 내용을 출력할 수 있다.
1. 데이터 조회
SELECT * FROM member WHERE member_name = '나훈아';
SELECT * FROM product WHERE product_name = '삼각김밥';
2. 스토어드 프로시저 생성
- DELIMITER //
CREATE PROCEDURE myProc()
BEGIN
SELECT * FROM member WHERE member_name = '나훈아';
SELECT * FROM product WHERE product_name = '삼각김밥';
END //
DELIMITER ; - 구분문자인 DELIMITER // ~ DELIMITER; 사이에 BEGIN (넣으려는 SQL문) END 넣기
3. 스토어드 프로시저를 호출하기 위해 CALL문 실행
SQLD를 취득하면서 기본적인 이론의 기틀을 다졌지만, 실무적으로 활용할 수 있는 능력을 기르기 위해 혼공SQL을 공부하게 되었다.
길다면 길고 짧으면 짧은 시간, 열심히 해보겠다!
'SQL' 카테고리의 다른 글
[혼공학습단] 5주차 (0) | 2025.02.16 |
---|---|
[혼공학습단] 4주차 (0) | 2025.02.09 |
[혼공학습단] 3주차 (0) | 2025.01.25 |
[혼공학습단] 2주차 (0) | 2025.01.19 |