본문 바로가기
반응형

MySQL3

[MySQL] View 란? | LIM ✔️ [View 란] 데이터베이스에 존재하는 일종의 가상 테이블이라고 보면 된다. 실제 행과 열을 가지고 있지만 데이터를 저장하고 있지는 않다. 뷰에서는 다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할만을 수행하게 된다. 그래서 이름도 뷰(View) 인 것 같다. View 를 생성하는 SQL 문만 저장한다고 생각하면 될 것 같다. ✔️ [With 와의 차이] With 와 비슷하다고 생각할 수 있을 것 같은데, With 는 쿼리문이 실행될 때 임시로 사용하는 테이블이고, View 는 데이터셋에 저장해서 여러 사람이 활용할 수 있다. 💡 View 의 사용 목적은 복잡한 쿼리문을 계속 조회할 때, 테이블처럼 관리되면 편하기 때문이라고 생각한다. ❓[다른 테이블에 변경사항이 일어났을 때 View.. 2022. 12. 10.
[MySQL] null vs 0 group by avg 차이 | LIM mysql에서 group by 를 통해 평균을 구해야할 일이 생겼다. 문제는 원하지 않은 값, 즉 0 이 들어와서 평균을 깎아먹고 있었던 것이다. 예를들어서 테이블을 통해 살펴보자 이 테이블에서 height 즉 키는 다 있으므로 6명의 평균을 다 구하고 싶었고, weight는 있는 사람들 것에 대한 평균만 내고 싶었다. 하지만 이렇게 weight를 적지 않은 사람들의 몸무게를 0으로 두고 평균을 냈을 때 다음과 같은 결과가 나온다. 즉 평균 키는 구해졌지만 평균 몸무게가 0으로 적은 사람들 때문에 원하지 않는 평균 무게가 나왔다. 이를 방지하기 위해서는 몸무게를 적지 않은 사람들의 몸무게를 0 이 아닌 null 로 변경해주면 된다. 이렇게 null로 두고 평균을 구하면 키는 6명의 평균키, 몸무게는 4명.. 2022. 7. 12.
[MySQL] Transaction의 모든 것 | LIM MySQL/MariaDB의 InnoDB 스토리지 엔진은 Transaction(트랜잭션) 기능을 지원한다. 📌 Transaction 단어의 뜻은 이러하다. 거래, 매매 처리과정 컴퓨터 과학 분야에서의 트랜잭션은 “더이상 분할이 불가능한 업무처리의 단위" 를 뜻한다. ✔️ 이것은 하나의 작업을 위해 더이상 분할될 수 없는 명령어들의 모음, 즉 한꺼번에 수행되어야 할 일련의 연산모음을 의미한다. 예로, 사용자가 바라보는 db에 이런 작업을 한다고 하자 매일 오후 11시에 delete 후 새로운 정보를 합해서 insert 하는 작업이 있다. 이 작업은 delete 후 insert 가 완벽히 하나의 작업으로 끝나야 사용자는 새로운 정보를 받아볼 수 있다. transaction을 이상하게 묶으면 delete 도중 .. 2022. 5. 21.
반응형