목차
테이블에 레코드 1개 삽입
테이블에 레코드 여러 개 삽입
삽입된 마지막 레코드의 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
주소 복사
랜덤 이동
최신댓글