inanJeong
이난's 프로그래밍 지식 사이트
inanJeong
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • 회고록 및 개발일기 (4)
    • Advanced (0)
    • Python (18)
      • 파이썬 기초 (0)
      • 파이썬스럽게 개발하기 (6)
      • Django (5)
      • 고성능 파이썬 (0)
      • matplotlib (3)
      • Error (4)
    • 기타 (61)
      • Shell Script (2)
      • 라즈베리파이 (5)
      • 티스토리 꾸미기 (2)
      • 알고리즘 (2)
      • 소프트웨어 개발론 (0)
      • JIRA(프로젝트 관리 도구) (1)
      • git (1)
      • Swagger (1)
      • docker (2)
      • web_server (2)
      • MySQL (2)
      • front_end (3)
      • javascripts(typescript + ES.. (5)
      • ServerSideApplication (1)
      • Data Engineering (5)
      • flutter (2)
      • JSP (10)
      • Spring boot (5)
      • React (3)
      • elasticSearch (1)
      • AWS (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
inanJeong

이난's 프로그래밍 지식 사이트

[Django] db connection, raw query...
Python/Django

[Django] db connection, raw query...

2022. 3. 21. 10:06

 

※ django 3.2 기준으로 작성된 글입니다.

 

 

 

django에서 pymysql말고 raw 쿼리를 작성할 수 있는 방법이 있습니다. 바로 django.db의 connection을 사용하는 것 입니다.

from django.db import connection

 

그렇다면 connection을 사용해야할 때는 언제일까요?

 

😩저 같은 경우 프로젝트에서 테이블이 동적으로 늘어나야 되고, 늘어난 테이블을 실시간으로 사용이 가능해야 하기 때문에 사용했습니다.

 

1. DDL을 사용해야할때

  - e.g. CREATE, ALTER, etc..

 

2. DML을 사용할 때

  - e.g. SELECT * FROM {index}_table_name

 

 

그럼 본격적으로 사용해보도록 하겠습니다.

 

1. DDL

from django.db import connection

# 첫번째 방법
cursor = connection.cursor()
cursor.execute("CREATE TABLE NameTable(name varchar(255));")
cursor.close()

# 두번째 방법
with connection.cursor() as cursor:
    selectSQL = 'SELECT * FROM NameTable'
    cursor.execute(selectSQL)

 

2. DML

  • fetchone(): 쿼리 결과를 하나의 리스트안에 담아서 반환합니다. -> []
  • fetchall(): 쿼리 전체 결과를 하나씩 리스트에 담고 전체 리스트를 반환 -> [[], [], [], [] ...]
  • *cursor.lastrowid: 가장 최근에 사용했던 값의 id를 가져옵니다.

 

 

'Python > Django' 카테고리의 다른 글

[Django] django에서 데이터 받기  (0) 2022.09.13
[django] class-based view, csrf  (0) 2022.03.14
[Django] django.core serializers VS drf serializers 차이점  (0) 2022.03.08
[Django] Django 소개  (0) 2022.02.08
    'Python/Django' 카테고리의 다른 글
    • [Django] django에서 데이터 받기
    • [django] class-based view, csrf
    • [Django] django.core serializers VS drf serializers 차이점
    • [Django] Django 소개
    inanJeong
    inanJeong
    저작권 문제시 이메일 발송 부탁드립니다.(해당 게시글 바로 내리겠습니다.) ghjklla007@naver.com

    티스토리툴바