본문 바로가기
반응형

Data/DB12

[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.
Pandas DataFrame to SQL Table pandas dataframe으로 수집해놓은 데이터셋 자체를 sql에 table로 저장하는 방법 중에 sqlalchemy가 있다. 사실 아직 sqlalchemy가 어떤 원리로 만들어진 건지는 정확하게는 모르겠다. 그러나 까먹기 전에 여기에 기록해놓으려고 한다. 일단 sqlalchemy를 사용하기 위해서는 sqlalchemy를 설치해야한다. pip install sqlalchemy import pandas as pd import pymysql from sqlalchemy import create_engine pymysql.install_as_MySQLdb() import MySQLdb 그 다음 create_engine을 통해 해당 DB로 접속이 가능하도록 engine을 생성한다. engine = creat.. 2021. 1. 25.
[pymysql] python에서 mysql 사용 1. 먼저 pymysql을 설치한다. 2. 데이터 베이스 생성 # 데이터 베이스 생성 import pymysql.cursors conn = pymysql.connect(host='localhost',user='root',password=pwd,charset='utf8') try: with conn.cursor() as cursor: sql = 'CREATE DATABASE example' cursor.execute(sql) conn.commit() finally: conn.close() 3. 테이블 생성 # 테이블 생성 import pymysql.cursors conn = pymysql.connect(host='localhost',user='root',password=pwd,charset='utf8',d.. 2021. 1. 21.
MariaDB 설치부터 데이터베이스 생성과 테이블 생성까지 MariaDB 는 MariaDB사가 제작한 오픈소스 RDBMS 소프트웨어입니다. MariaDB가 무엇인지 알기 위해서는 MySQL이란 유명 RDBMS를 알아야 합니다. MySQL에서 떨어져나온 RDBMS가 MariaDB이기 때문이다. MySQL과 MariaDB는 동일한 사람이 만들었기 떄문에, 사용법 또한 거의 동일하다. *RDBMS(Relational DataBase Management System)- RDB를 생성하고 수정하고 관리할 수 있는 소프트웨어 MariaDB 설치는 간단하다. 아래 참고 링크를 첨부하겠다. offbyone.tistory.com/199 Windows 10에 MariaDB 설치하기 개발용으로 Windows 10 PC에 MariaDB 를 설치해 봅니다. 1. http://maria.. 2021. 1. 21.
반응형