Python MySQL-데이터 삽입

다음을 사용하여 MySQL의 기존 테이블에 새 행을 추가 할 수 있습니다. INSERT INTO성명서. 여기에서 테이블 이름, 열 이름 및 값을 지정해야합니다 (열 이름과 동일한 순서로).

통사론

다음은 MySQL의 INSERT INTO 문의 구문입니다.

INSERT INTO TABLE_NAME (column1, column2,column3,...columnN)
VALUES (value1, value2, value3,...valueN);

다음 쿼리는 EMPLOYEE라는 테이블에 레코드를 삽입합니다.

INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('
   Mac', 'Mohan', 20, 'M', 2000
);

다음과 같이 SELECT 문을 사용하여 삽입 작업 후 테이블의 레코드를 확인할 수 있습니다.

mysql> select * from Employee;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE  | SEX  | INCOME |
+------------+-----------+------+------+--------+
| Mac        | Mohan     | 20   | M    | 2000   | 
+------------+-----------+------+------+--------+
1 row in set (0.00 sec)

항상 열 이름을 지정하는 것은 필수가 아닙니다. 테이블의 열과 동일한 순서로 레코드 값을 전달하면 다음과 같이 열 이름없이 SELECT 문을 실행할 수 있습니다.

INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000);

Python을 사용하여 MySQL 테이블에 데이터 삽입

그만큼 execute()메서드 (커서 개체에서 호출 됨)는 쿼리를 매개 변수로 받아들이고 주어진 쿼리를 실행합니다. 데이터를 삽입하려면 MySQL INSERT 문을 매개 변수로 전달해야합니다.

cursor.execute("""INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Mac', 'Mohan', 20, 'M', 2000)""")

파이썬을 사용하여 MySQL의 테이블에 데이터를 삽입하려면-

  • 수입 mysql.connector 꾸러미.

  • 다음을 사용하여 연결 개체를 만듭니다. mysql.connector.connect() 사용자 이름, 암호, 호스트 (선택적 기본값 : localhost) 및 데이터베이스 (선택적)를 매개 변수로 전달합니다.

  • 다음을 호출하여 커서 개체를 만듭니다. cursor() 위에서 만든 연결 개체에 대한 메서드

  • 그런 다음 INSERT 매개 변수로 전달하여 execute() 방법.

다음 예제는 EMPLOYEE 테이블에 레코드를 삽입하기 위해 SQL INSERT 문을 실행합니다.

import mysql.connector

#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb')

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

# Preparing SQL query to INSERT a record into the database.
sql = """INSERT INTO EMPLOYEE(
   FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
   VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:
   # Executing the SQL command
   cursor.execute(sql)

   # Commit your changes in the database
   conn.commit()

except:
   # Rolling back in case of error
   conn.rollback()

# Closing the connection
conn.close()

동적으로 값 삽입

또한 값 대신 "% s"를 사용할 수 있습니다. INSERT MySQL을 쿼리하고 아래에 표시된 목록으로 값을 전달합니다.

cursor.execute("""INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000)""", 
   ('Ramya', 'Ramapriya', 25, 'F', 5000))

다음 예제는 레코드를 Employee 테이블에 동적으로 삽입합니다.

import mysql.connector

#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb')

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

# Preparing SQL query to INSERT a record into the database.
insert_stmt = (
   "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)"
   "VALUES (%s, %s, %s, %s, %s)"
)
data = ('Ramya', 'Ramapriya', 25, 'F', 5000)

try:
   # Executing the SQL command
   cursor.execute(insert_stmt, data)
   
   # Commit your changes in the database
   conn.commit()

except:
   # Rolling back in case of error
   conn.rollback()

print("Data inserted")

# Closing the connection
conn.close()

산출

Data inserted