Table of contents

    이번 글에서는 Python을 이용하여 MySQL의 테이블을 생성하고 삭제해보겠습니다.

     

    1. 정리

    1.1. TABLE 생성

    TABLE을 생성하기 전에, 아래와 같은 작업을 처리해야 합니다. 좀더 자세한 설명은 아래 링크를 참조하세요. 

    2022.02.19 - [소프트웨어/Python] - Python MySQL DB 생성, 삭제

    • pymysql 모듈 import
    • connect
    • cursor

    이제 쿼리문을 작성해보겠습니다.

     

    DB를 생성하는 쿼리문은 'CREATE TABLE TABLE명(데이터타입, 데이터이름)' 입니다.

     

    만약, 두개 이상의 데이터를 저장하고 싶으면 'CREATE TABLE TABLE명(데이터타입1, 데이터이름1, 데이터타입2, 데이터이름2)' 와 같이, 쿼리문을 작성하시면 됩니다.

     

    아래의 sql문에서는 ''' ''' 처리된 부분을 볼 수 있습니다.

     

    이 부분은 쿼리문 간의 개행문자(줄바꿈)이 있어도 하나의 쿼리문처럼 동작하게 도와주는 거에요. 

     

    이 쿼리문을 excute함수를 통해 실행시키고, commit 함수를 통해 DB에 날려줍니다.

     

    모든 작업을 마치고난 후, close함수를 통해 DB와의 연결을 종료합니다. 다음으로 MySQL 관리자 모드에서 확인해보겠습니다.

     

    import pymysql
    
    #Table 생성
    conn = pymysql.connect(host='localhost', user='root', password='', db='TEST', charset='utf8') 
    cursor = conn.cursor() 
    
    sql = '''
    CREATE TABLE TEST_TABLE ( 
    dateTime DATETIME, 
    name varchar(255),
    val1 SMALLINT,
    val2 SMALLINT
    ) 
    ''' 
    
    cursor.execute(sql) 
    
    conn.commit() 
    conn.close() 

     

    아래 그림과 같이, test_table이란 TABLE이 잘 생성되었네요.

     

    이제 테이블을 클릭하고 구조를 클릭하여 TABLE의 구조를 보겠습니다.

    test_table에 쿼리문에 작성했던 것처럼, datetime 타입의 dateTime, varchar 타입의 name, smallint 타입의  val1과 val2가 모두 잘 잘 생성되습니다.

     

    1.2. TABLE 삭제

    이번에는 반대로, TABLE을 삭제하겠습니다.

     

    TABLE 생성과 절차는 모두 같고 쿼리문만 달라집니다. 쿼리문은 'DROP TABLE TEST_TABLE' 입니다.

     

    다음으로, DB안에 TABLE이 남아있는지 확인해보겠습니다.

    #Table 삭제
    conn = pymysql.connect(host='localhost', user='root', password='', db='TEST', charset='utf8') 
    cursor = conn.cursor() 
    
    sql = '''
    DROP TABLE TEST_TABLE
    ''' 
    
    cursor.execute(sql) 
    
    conn.commit() 
    conn.close() 

     

    test DB안에 존재하던, test_table이 삭제됨을 확인할 수 있습니다.

     

     

     

    2. 전체코드

    import pymysql
    
    #Table 생성
    conn = pymysql.connect(host='localhost', user='root', password='', db='TEST', charset='utf8') 
    cursor = conn.cursor() 
    
    sql = '''
    CREATE TABLE TEST_TABLE ( 
    dateTime DATETIME, 
    name varchar(255),
    val1 SMALLINT,
    val2 SMALLINT
    ) 
    ''' 
    
    cursor.execute(sql) 
    
    conn.commit() 
    conn.close() 
    
    #Table 삭제
    conn = pymysql.connect(host='localhost', user='root', password='', db='TEST', charset='utf8') 
    cursor = conn.cursor() 
    
    sql = '''
    DROP TABLE TEST_TABLE
    ''' 
    
    cursor.execute(sql) 
    
    conn.commit() 
    conn.close()