Python MySQL 테이블에 삽입
테이블에 삽입
MySQL에서 테이블을 채우려면 "INSERT INTO"문을 사용하십시오.
예시
"고객" 테이블에 레코드 삽입:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql,
val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
중요!: 명령문에 유의하십시오
mydb.commit()
. . 변경해야 하며 그렇지 않으면 테이블이 변경되지 않습니다.
여러 행 삽입
여러 행을 테이블에 삽입하려면 이
executemany()
방법을 사용하십시오.
메소드 의 두 번째 매개변수는 executemany()
삽입하려는 데이터가 포함된 튜플 목록입니다.
예시
"고객" 테이블을 데이터로 채우십시오.
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = [
('Peter', 'Lowstreet 4'),
('Amy', 'Apple st 652'),
('Hannah', 'Mountain 21'),
('Michael', 'Valley 345'),
('Sandy', 'Ocean blvd 2'),
('Betty', 'Green Grass 1'),
('Richard', 'Sky st 331'),
('Susan', 'One way 98'),
('Vicky', 'Yellow Garden 2'),
('Ben', 'Park Lane 38'),
('William', 'Central st 954'),
('Chuck', 'Main Road 989'),
('Viola', 'Sideway 1633')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "was inserted.")
삽입된 ID 가져오기
커서 객체를 요청하여 방금 삽입한 행의 ID를 얻을 수 있습니다.
참고: 둘 이상의 행을 삽입하면 마지막으로 삽입된 행의 ID가 반환됩니다.
예시
한 행을 삽입하고 ID를 반환합니다.
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)
mydb.commit()
print("1 record
inserted, ID:", mycursor.lastrowid)