MySQL Table Creation and Insert Data via Python

Page content

개요

테이블 생성

  • 아래 코드를 작성하면 테이블이 생성된다.
import mysql.connector

mydb = mysql.connector.connect(
    host = "localhost", 
    user = "root", 
    passwd = "evan", 
    database = "mulcampdb"
)

print(mydb)

my_cursor = mydb.cursor()
query = """
    CREATE TABLE users (
        name VARCHAR(255)
        , email VARCHAR(255)
        , age INTEGER(10)
        , user_id INTEGER AUTO_INCREMENT PRIMARY KEY
    );
"""
my_cursor.execute(query)
my_cursor.execute("SHOW TABLES;")
for table in my_cursor:
    print(table[0])
  • 파일을 실행한다.
$ python database.py 
<mysql.connector.connection_cext.CMySQLConnection object at 0x0000028942314F90>
users
  • MySQL Workbench에 생성된 테이블이 만들어지는지 확인한다.

Untitled

Data 추가 (One Record)

  • 데이터를 한개씩만 추가하는 쿼리를 작성 후, Table에 반영하도록 한다.
import mysql.connector

mydb = mysql.connector.connect(
    host = "localhost", 
    user = "root", 
    passwd = "evan", 
    database = "mulcampdb"
)

print(mydb)

my_cursor = mydb.cursor()

query = """
   INSERT INTO users (name, email, age) VALUES (%s, %s, %s);
"""

record = ("Evan", "Evan@gmail.com", 30)

my_cursor.execute(query, record)
mydb.commit()

print("완료")
  • Python 파일을 실행한다.
$ python database.py 
<mysql.connector.connection_cext.CMySQLConnection object at 0x00000202B3585050>
완료
  • MySQL Workbench에 생성된 데이터가 추가가 되었는지 확인한다.

Untitled

Data 추가 (Multiple Records)

  • 데이터를 한개씩만 추가하는 쿼리를 작성 후, Table에 반영하도록 한다.
import mysql.connector

mydb = mysql.connector.connect(
    host = "localhost", 
    user = "root", 
    passwd = "evan", 
    database = "mulcampdb"
)

print(mydb)

my_cursor = mydb.cursor()

query = """
   INSERT INTO users (name, email, age) VALUES (%s, %s, %s);
"""
records = [
    ("Evan", "Evan@gmail.com", 30), 
    ("Mary", "Mary@gmail.com", 20), 
    ("Sara", "Sara@gmail.com", 25)
]

my_cursor.executemany(query, records)
mydb.commit()

print("완료")
  • Python 파일을 실행한다.
$ python database.py 
<mysql.connector.connection_cext.CMySQLConnection object at 0x0000024D09575C50>
완료
  • MySQL Workbench에 생성된 데이터가 추가가 되었는지 확인한다.

Untitled