• 회원가입
  • 로그인
  • 구글아이디로 로그인

[mysql] Python - MySQL Insert Into Table (데이터 삽입)

9925  

목차

  1. 테이블에 레코드 1개 삽입
  2. 테이블에 레코드 여러 개 삽입
  3. 삽입된 마지막 레코드의 ID 가져오기

 

테이블에 레코드 1개 삽입

 

db.excute(sql, val) 메서드 이용.

 


방법1. 입력값 구문 통합.

 

import mysql.connector


mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="autoset",

  database="hz"

)


mycursor = mydb.cursor()

sql = "INSERT INTO hz_member (mb_name, mb_level) VALUES ('homzzang', '10')"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

 


방법2- 입력값 구문 분리. (권장) ★

 

import mysql.connector


mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="autoset",

  database="hz"

)


mycursor = mydb.cursor()

sql = "INSERT INTO hz_member (mb_name, mb_level)  VALUES (%s, %s)"

val = ("homzzang", "10")

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

 

주의: mydb.commit() 없으면, 변화가 반영 X

 

테이블에 레코드 여러 개 삽입

 

db.executemany(sql, val)메서드이용.

※ val 변수엔 Tuple 형태의 레코드를 요소로 하는 List 형태 할당.

 


[예제]

 

import mysql.connector


mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="autoset",

  database="hz"

)


mycursor = mydb.cursor()

sql = "INSERT INTO hz_member (mb_name, mb_level)  VALUES (%s, %s)"

val = [

    ('AAA', '1'),

    ('BBB', '2'),

    ('CCC', '2'),

    ('DDD', '3'),

    ('EEE', '3'),

    ('FFF', '3'),

    ('GGG', '4'),

    ('HHH', '4'),

    ('III', '4'),

    ('JJJ', '4'),

    ('KKK', '5'),

    ('LLL', '5'),

    ('MMM', '5'),

    ('NNN', '5')

]

mycursor.executemany(sql, val)

mydb.commit()

print(mycursor.rowcount, "recode inserted.")

 

 

삽입된 마지막 레코드의 ID 가져오기


cursor.lastrowid 속성에 마지막 삽입 레코드 ID 담김.

 


[예제]

 

import mysql.connector


mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="autoset",

  database="hz"

)


mycursor = mydb.cursor()

sql = "INSERT INTO hz_member (mb_name, mb_level)  VALUES (%s, %s)"

val = ("OOO", "5")

mycursor.execute(sql, val)

mydb.commit()

print("1 record inserted, ID:", mycursor.lastrowid

 

 

PS.

Node.js 데이터 삽입. https://homzzang.com/b/njs-15



분류 제목
mysql Python - MySQL Create Table (테이블 생성)
mysql Python - MySQL Insert Into Table (데이터 삽입)
mysql Python - MySQL Select From (데이터 선택)
mysql Python - MySQL Where (조건절)
mysql Python - MySQL Order By (정렬순서)
mysql Python - MySQL Delete From (데이터 삭제)
mysql Python - MySQL Drop Table (테이블 삭제)
mysql Python - MySQL Update (데이터 수정)
mysql Python - MySQL Limit (데이터 출력개수)
mysql Python - MySQL Join (테이블 결합)
mongodb Python - MongoDB start (설치・연결)
mongodb Python - MongoDB Create Database (DB 생성)
mongodb Python - MongoDB Create Collection (컬렉션 생성)
mongodb Python - MongoDB Insert (데이터 삽입)
mongodb Python - MongoDB Find (데이터 찾기)
mongodb Python - MongoDB Query (검색 쿼리)
mongodb Python - MongoDB Sort (데이터 정렬)
mongodb Python - MongoDB Delete (데이터 삭제)
mongodb Python - MongoDB Drop Collection (컬렉션 삭제)
mongodb Python - MongoDB Update (데이터 수정)
3/24
목록
찾아주셔서 감사합니다. Since 2012