본문 바로가기

분류 전체보기689

[Mysql] 파일 입력, 변수, 데이터의변환등 #SQL 기본 #1 DROP DATABASE IF EXISTS sqldb; 만약 해당 데이터베이스가 있으면 삭제해줘 (에러가 뜨는 건아니고, 데이터베이스가 없을경우엔 알림이 알럿으로 뜬다.) #2 테이블 생성 (외래키 포함) CREATE TABLE buytbl ( num INT auto_increment not null primary key, userID char(8) not null, prodName CHAR(6) NOT NULL, price INT NOT NULL, amount smallint not null, foreign key (userID) references usertbl(userID) ); # 이 코드는 mysql용이라고 보면 된다. 사실상 문법적으론 문제가 없지만, 또 다른 문법측에선 문.. 2022. 10. 5.
[Mysql] 이것이 MYSQL이다 후기 이책은 근래에 봤던 책 중 잘 만들어진 편이라고 볼 수 있다. 최소한에 표현하고자 하는바에 충실하다. 하지만 내 개인적으로는 한 주제에 대해서 똑같은 패턴이 약간은 지겨워질때까지 반복하고 반복하면서 익히는 스타일을 좋아하는데 너무 새로운게 계속 나오니깐 그 새로움이 지겨워서 안하는게 낮겠다 싶었다. 어차피 기억도 다 못하니깐 그럼에도 실무를 하게되면 두고두고 아예 사놓고 보면서 공부하면서 익혀가는게 올바른 일종의 바이블같은 책이라고 생각한다. 음.. 암튼 이 책은 학습용? 보다는 직감상 실무에선 구글링보다 mysql영역에 한에서는 더욱 유용할 것같다는 느낌이든다. 300페이지 즈음에서 학습을 챕터 7정도까지 마치고 접는다. 2022. 10. 5.
[Mysql] 데이터베이스 모델링 기본개념 데이터베이스 모델링 #1 고객이름, 연락처, 주소, 나이, 구매물품, 물품, 수량 등이 있을때, 이것을 한 테이블에 몰아넣으면 L자형 모습이라고 해서 테이블의 빈 필드가 생기게 된다. 이를 방지하기위해서 최대한 하나의 주제로 하나의 카테고리로 묶을 수 있게 설정을 하고 추후에 필요에 따라 조인을 해주는 것이 중요하다. 더불어서 누가 무엇을 샀는지 구분해주기위해서 PK 값을 양쪽 모두에 넣어주면 관리가 가능하다. #2 그리고 주가 되는 테이블과 부가 되는 테이블 모델링이 있다. 보통의 경우에는 ‘학생의 수업’이라고 할때 학생이 주가되고 수업이 부가 된다. 하지만 모든경우에 그런것이 아니라 ‘물품을 관리할 직원’ 등으로 분류가 나뉠때는 물품이 주가 될 수도 있다. 2022. 10. 3.
[Mysql] TRIGGER(트리거) 매우중요개념 (삭제된 필드를 다른테이블로 자동이동) 트리거 데이터가 삭제되기 전에 저장되는 공간혹은 그런 공간과 비슷한 개념 정도로 보면 될 것 같다. DELIMITER // CREATE TRIGGER trg_deleteMemberTBL AFTER DELETE -- 삭제 후에 작동하게 지정 ON memberTBL -- 트리거를 부착할 테이블 FOR EACH ROW -- 각 행마다 적용 시킴 BEGIN -- OLD 테이블의 내용을 백업 테이블에 삽입 INSERT INTO deleteMemberTBL VALUES (OLD.memberID, OLD.memberName, OLD.memberAddress, CURDATE()); END // DELIMITER; 정확히는 트리거를 설정해주면 삭제할때, 삭제한 내용에 대해서 트리거 설정된 테이블로 내용이 전이된다고 보면.. 2022. 10. 3.