Python 테이블에 삽입

테이블 삽입

MySQL에 테이블을 채우려면 "INSERT INTO" 문을 사용하십시오。

예제

테이블 "customers"에 기록을 삽입합니다:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("ジョン", "ハイ웨이 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "레코드 삽입.")

실행 예제

중요:주의하세요 문장 mydb.commit()를 변경해야 합니다. 그렇지 않으면 테이블에 어떤 변경도 일어나지 않습니다。

여러 행 삽입

테이블에 여러 행을 삽입하려면 다음을 사용하십시오: executemany() 메서드。

executemany() 메서드의 두 번째 매개변수는 데이터를 삽입할 수 있는 튜플 목록입니다:

예제

고객 테이블 "customers"에 데이터를 채우기 위해:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  ('피터', '로우스트리트 4'),
  ('에미', '애플 스트리트 652'),
  ('한나', '마운틴 21'),
  ('마이클', '밸리 345'),
  ('산디', '오션 블라드 2'),
  ('베트티', '그린 그라스 1'),
  ('리처드', '스카이 스트리트 331'),
  ('수젠', '원웨이 98'),
  ('비키', '옐로우 가든 2'),
  ('벤', '파크 레인 38'),
  ('윌리엄', '센트럴 스트리트 954'),
  ('채크', '메인 루트 989'),
  ('비올라', '사이드웨이 1633')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "행이 삽입되었습니다.")

실행 예제

삽입된 ID 가져오기

cursor 객체를 통해 새로 삽입된 행의 id를 얻을 수 있습니다。

주의사항:한 행 이상 삽입되면 마지막으로 삽입된 행의 id를 반환합니다。

예제

한 행 삽입하고 id를 반환합니다:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)
mydb.commit()
print("1개의 레코드 삽입되었습니다, ID:", mycursor.lastrowid)

실행 예제