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

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

9654  

목차

  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 - Home (입문) - 이념 / 추천 링크
basic Python - Intro (소개) - 용도・특징
basic Python - Start (시작) - 파이썬 설치/실행/버전확인
basic Python - Syntax (구문) - 들여쓰기・변수・주석
basic Python - Comment (주석)
basic Python - Variable (변수)
basic Python - DataType (데이터타입) - 자료형
basic Python - Number (숫자)
basic Python - Casting (데이터 타입 변경) - 자료형 변환
basic Python - String (문자열) ★ ※ 색인번호 (= 인덱스) 개념.
basic Python - Boolean (참거짓)
basic Python - Operator (연산자)
basic Python - List (리스트) ★ - 변경 가능한 모음
basic Python - Tuple (투플/튜플) - 변경 불가 모음
basic Python - Set (셋/세트) - '순서(=색인)' 없고, 중복 허용 않는 데이터 모음.
basic Python - Dictionary (딕셔너리) - Key:value 쌍으로 구성된 모음
basic Python - if...elif...else - (이프조건문) ※ 3항연산자 = 삼항연산자
basic Python - While (와일반복문) - 와일문
basic Python - For (포반복문) ★★★★★
basic Python - Function (함수)
1/24
목록
찾아주셔서 감사합니다. Since 2012