DELIMETER $$
~ BEGIN ~ END $$ DELIMETER '
CALL
파이썬 따로 설치안하고 주피터노트북 이용해서 연동 및 테이블에 데이터 입력
input으로 값 받기
import pymysql
# 전역변수 선언부
conn, cur = None, None
data1, data2, data3, data4 = '', '', '', ''
sql = ''
# 메인코드
conn = pymysql.connect(host = '127.0.0.1', user = 'root', password = '0000', db = 'soloDB', charset = 'utf8')
cur = conn.cursor()
while (True):
data1 = input('사용자 ID ===>')
if data1 == "":
break;
data2 = input('사용자 이름 ===>')
data3 = input('사용자 이메일 ===>')
data4 = input('사용자 출생연도 ===>')
sql = f"INSERT INTO userTable VALUES('{data1}', '{data2}', '{data3}', '{data4}')"
cur.execute(sql)
conn.commit()
conn.close()
확인
파이썬에서 조회까지 하기
import pymysql
# 전역변수 선언부
conn, cur = None, None
data1, data2, data3, data4 = '', '', '', ''
sql = ''
# 메인코드
conn = pymysql.connect(host = '127.0.0.1', user = 'root', password = '0000', db = 'soloDB', charset = 'utf8')
cur = conn.cursor()
cur.execute("SELECT * FROM userTable")
print('사용자 ID 사용자이름 이메일 출생연도')
print('---------------------------------------------')
while (True):
row = cur.fetchone()
if row == None:
break
data1 = row[0]
data2 = row[1]
data3 = row[2]
data4 = row[3]
print(f'{data1} {data2} {data3} {data4}')
conn.close()
p. 363 market_db의 고객 테이블(member)에 입력된 회원의 정보가 변경될 때 변경한 사용자, 시간, 변경 전의 데이터 등을 기록하는 트리거 작성하고 인증하기
백업테이블 만들기
CREATE TABLE backup_singer
( mem_id CHAR(8) NOT NULL ,
mem_name VARCHAR(10) NOT NULL,
mem_number INT NOT NULL,
addr CHAR(2) NOT NULL,
modType CHAR(2), -- 변경된 타입. '수정' 또는 '삭제'
modDate DATE, -- 변경된 날짜
modUser VARCHAR(30) -- 변경한 사용자
);
수정 트리거 만들기
DELIMITER $$
CREATE TRIGGER singer_updateTrg -- 트리거 이름
AFTER UPDATE -- 변경 후에 작동하도록 지정
ON singer -- 트리거를 부착할 테이블
FOR EACH ROW
BEGIN
INSERT INTO backup_singer VALUES( OLD.mem_id, OLD.mem_name, OLD.mem_number,
OLD.addr, '수정', CURDATE(), CURRENT_USER() );
END $$
DELIMITER ;
삭제 트리거 만들기
DELIMITER $$
CREATE TRIGGER singer_deleteTrg -- 트리거 이름
AFTER DELETE -- 삭제 후에 작동하도록 지정
ON singer -- 트리거를 부착할 테이블
FOR EACH ROW
BEGIN
INSERT INTO backup_singer VALUES( OLD.mem_id, OLD.mem_name, OLD.mem_number,
OLD.addr, '삭제', CURDATE(), CURRENT_USER() );
END $$
DELIMITER ;
수정트리거 실행하기
UPDATE singer SET addr = '영국' WHERE mem_id = 'BLK';
SELECT * FROM backup_singer;
삭제트리거 실행하기
DELETE FROM singer WHERE mem_number >= 7;
SELECT * FROM backup_singer;
p. 402 GUI 응용 프로그램 만들고 인증하기
오와우 GUI는 코드 복붙하기는 했지만 엄청 신기하당
색깔 바꿔봄~~ㅋㅋㅋ