[혼공학습단 13기] 활동의 일환으로 한빛미디어의 < 혼자 공부하는 SQL >을 읽고 요약 정리한 글입니다.
스토어드 프로시저
: MySQL에서 제공하는 프로그래밍 기능. 쿼리 문의 집합. 어떠한 동작을 일괄 처리.
DELIMITER $$
CREATE PROCEDURE 스토어드_프로시저_이름()
BEGIN
이 부분에 SQL 프로그래밍 코딩
END $$
DELIMITER ;
CALL 스토어드_프로시저_이름();
CREATE PROCEDURE~
로 스토어드 프로시저를 생성하며, CALL~
로 실행(호출)한다.
스토어드 프로시저를 삭제할 때는 DROP PROCUDRUE~
를 사용한다.
스토어드 프로시저 실행 시 입력 매개변수
를 지정할 수 있으며, 처리된 결과를 출력 매개변수
를 통해 얻을 수도 있다.
IN 입력_매개변수_이름 데이터_형식
CALL 프로시저_이름(전달_값);
OUT 출력_매개변수_이름 데이터_형식
CALL 프로시저_이름(@변수명);
SELECT @변수명;
※ 스토어드 프로시저 활용법
스토어드 함수
: MySQL에서 제공하는 내장 함수 외에 직접 함수를 만드는 기능 제공. RETURNS
예약어를 통해 하나의 값을 반환해야 한다.
스토어드 함수의 기본 형식은 다음과 같다.
DELIMITER $$
CREATE FUNCTION 스토어드_함수_이름()
RETURNS 반환형식
BEGIN
이 부분에 SQL 프로그래밍 코딩
RETURN 반환값;
END $$
DELIMITER ;
SELECT 스토어드_함수_이름();
RETURNS
문으로 반환할 값의 데이터 형식 지정. 본문 안 RETURN
문으로 하나의 값 반환입력 매개변수
. IN은 붙이지 않는다.커서
는 모든 행을 한 행씩 처리할 때 사용한다.
1️⃣커서 선언하기
2️⃣반복 조건 선언하기
3️⃣커서 열기
4️⃣데이터 가져오기/처리하기 (반복)
5️⃣커서 닫기
트리거
는 테이블에 DML 문(INSERT, UPDATE, DELETE 등)의 이벤트가 발생하면 실행되는 코드이다.
AFTER DELETE
: DELETE 문이 발생된 후에 트리거를 작동하라는 의미(다른 DML에도 같은 방식으로 적용)
✅트리거는 테이블에 입력/수정/삭제되는 정보를 백업하는 용도로 활용할 수 있다.
p. 363 market_db의 고객 테이블(member)에 입력된 회원의 정보가 변경될 때 변경한 사용자, 시간, 변경 전의 데이터 등을 기록하는 트리거 작성하고 인증하기
OLD 테이블
: UPDATE나 DELETE가 수행될 때, 이전 데이터가 잠깐 저장되는 임시 테이블
새로운 데이터는 NEW 테이블
에 잠깐 저장된다.
파이썬 홈페이지에서 파이썬 설치 & MySQL을 활용하기 위한 외부 라이브러리 pymysql
설치
1️⃣MySQL 연결하기 연결자 = pymysql.connect(연결 옵션)
2️⃣커서 생성하기 커서이름 = 연결자.cursor()
3️⃣테이블 만들기 커서이름.execute("CREATE TABLE 문장")
4️⃣데이터 입력하기 (반복) 커서이름.execute("INSERT 문장")
5️⃣입력한 데이터 저장하기 연결자.commit()
6️⃣MySQL 종료하기 연결자.close()
1️⃣MySQL 연결하기 연결자 = pymysql.connect(연결 옵션)
2️⃣커서 생성하기 커서이름 = 연결자.cursor()
3️⃣데이터 조회하기 커서이름.execute("SELECT 문장")
4️⃣조회한 데이터 출력하기 (반복) 커서이름.fetchone()
5️⃣MySQL 종료하기 연결자.close()
GUI
: 윈도에 그래픽 환경으로 제공되는 화면. 사용자가 편리하게 데이터베이스에 접근하도록 도와주는 환경.
tkinter
: 파이썬에서 GUI를 만들기 위해 제공되는 라이브러리
라벨
: 윈도에 문자 표현버튼
: 클릭하는 기능 제공프레임
: 화면을 나누는 기능엔트리
: 입력 상자 제공리스트 박스
: 여러건의 목룍 표현p. 402 GUI 응용 프로그램 만들고 인증하기