본문 바로가기

CS 기초22

[MariaDB,MySQL] Trigger 사용법 / 특정 테이블 변경 시 관련 테이블 이벤트 실행 Trigger는 지정된 테이블의 변경을 감지하여 INSERT / UPDATE / DELETE 이벤트가 일어났을 때 설정한 이벤트를 실행하도록 합니다. 예를 들어, A테이블의 어떤 row의 name 필드의 값이 UPDATE 되면 B테이블의 name 필드도 동일하게 UPDATE 할 수 있습니다. Trigger는 함수, 핸들러처럼 생성해놓으면 알아서 조건에 맞게 자동으로 실행됩니다. Trigger 생성 예제 1) 할인 테이블에 할인율 필드가 업데이트 되면 상품 테이블의 할인율도 똑같이 적용하고 싶을 때 DELIMITER // CREATE TRIGGER update_item AFTER UPDATE ON sale_table FOR EACH ROW BEGIN IF NEW.discount_rate != OLD.dis.. 2019. 11. 12.
[C++] 벡터(Vector)와 리스트(List) 벡터(Vector) 벡터(vector)는 기본적으로 동적 배열이다. 즉 매번 size를 확인하며 배열이 꽉 차게되면 자동으로 capacity를 늘린다. 물론 이 과정엔 메모리를 해제했다가 다시 할당하고 값을 복사하는 오버헤드가 포함되어 있다. 또한 메모리의 잦은 할당은 fragmentation을 초래한다. 따라서 사용 전 reserve를 통해 어느정도 capacity를 정하는 것이 좋다. 배열이기 때문에 인덱스를 지원하며 임의의 요소에 상수 시간으로 접근이 가능하다.(물론 인덱스를 알고 있다고 가정할 때) 하지만 임의의 요소가 삭제되거나 추가될 때 요소의 순서를 유지하기 위해 백터는 재정렬을 해야하는 오버헤드가 있다. 따라서 맨뒤에 요소를 삽입하거나 삭제하는 연산이 아닌 중간에 삽입 삭제가 빈번하게 발생.. 2019. 11. 8.
CentOS7 관련 개인 메모 rpm -qa |grep gd // gd들어간 패키지 찾기 yum remove ~~ // 삭제 yum history list // yum으로 설치/삭제한 파일들 보기 yum history undo [번호] // yum으로 삭제한 프로그램 복구 yum install yum-cron // 패키지 자동 업데이트 프로그램 nmtui // 네트워크 기능 활성화 nmcli device show enp8s0 // enp8s0 네트워크 인터페이스 정보 보기 netstat -utlpn | grep LISTEN echo 'Woohyeon Test Page'> /var/www/html/index.html // 테스트 페이지 systemctl list-unit-files --type=service // 서비스 정보 확인 sy.. 2019. 10. 22.
mariaDB 개인 메모 mysqld -> 마리아DB 서버 프로그램의 바이너리의 이름 /usr/share/mysql # 에러 or 시스템 msg /var/lib/mysql # 실제 db 데이터 or 로그같은 관련 파일 /etc/my.cnf mysql --print-defaults # 기본 설정 보기 --------------------------------------------------------------------- show variables like 'c%'; show create table user_info; create database (if not exists) testdb; drop database (if exists) testdb; des customer; create table customer ( ~~~ ); .. 2019. 10. 22.