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

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

9930  

목차

  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



분류 제목
mongodb Python - MongoDB Limit (데이터 출력개수)
module Python - random 모듈 메서드 종류
module Python - random.seed() 메서드 - 난수 생성기 초기화 (= seed메서드 = 시드)
module Python - random.getstate() 메서드 - 난수 생성기 현재 상태 반환. (= getstat…
module Python - random.setstate() 메서드 - 난수 생성기 상태 복원. (= setstate메서…
module Python - random.getrandbits() 메서드 ★ - 지정 bit 크기의 정수 반환. (= g…
module Python - random.randrange() 메서드 ★★ - 지정 범위 안에서 정수형 난수 반환. (=…
module Python - random.randint() 메서드 ★★ - 지정 범위 안 int형 난수 생성. (= ra…
module Python - random.choice() 메서드 ★★ - 요소 랜덤 반환. (= choice메서드 = 초…
module Python - random.choices() 메서드 - 가중치 반영해 랜덤 요소 반환. (= choices…
module Python - random.shuffle() 메서드 ★★ - 요소 순서 뒤섞기. (= 순서 랜덤 = shu…
module Python - random.sample() 메서드 ★ - 일부 요소 랜덤 선택. (= sample메서드 =…
module Python - random.random() 메서드 ★ - 0 ~ 1 사이 부동소수 랜덤 반환. (= ran…
module Python - random.uniform() 메서드 ★ - 지정 범위 안 랜덤 부동소수 반환. (= uni…
module Python - random.triangular() 메서드 - 지정 범위 안 가중치 반영 랜덤 부동소수 반환…
module Python - random.betavariate() 메서드 △ - 베타분포 (통계용) 기반 0~1 사이 랜…
module Python - random.expovariate() 메서드 △ - 지수분포 (통계용) 기반 랜덤 부동소수 …
module Python - random.gammavariate() 메서드 △ - 감마분포 (통계용) 기반 랜덤 부동소수…
module Python - random.gauss() 메서드 △ - 가우스분포 (확률이론용) 기반 랜덤 부동소수 반환.
module Python - random.lognormvariate() 메서드 △ - 로그정규분포 (확률이론용) 기반 랜…
4/24
목록
찾아주셔서 감사합니다. Since 2012