Python

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

9929

목차

  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



분류 제목
basic Python - Dictionary (딕셔너리) - Key:value 쌍으로 구성된 모음
basic Python - if...elif...else - (이프조건문) ※ 3항연산자 = 삼항연산자
basic Python - While (와일반복문) - 와일문
basic Python - For (포반복문) ★★★★★
basic Python - Function (함수)
basic Python - Lambda (람다함수) - 작은 1회용 익명함수
basic Python - Array (배열)
basic Python - Class/Object (클래스/객체) ※ __init__() 함수
basic Python - Inheritance (상속)
basic Python - Iterator (반복자)
basic Python - Scope (범위)
basic Python - Module (모듈)
basic Python - Datetime (날짜시간) 표시
basic Python - JSON (제이슨)
basic Python - RegEx (정규식) - 정규표현식
2/32
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 1
웹유틸
회원센터
홈짱닷컴 PC버전 로그인