Python MySQL - Veri Ekle

Mevcut bir MySQL tablosuna yeni satırlar ekleyebilirsiniz. INSERT INTOBeyan. Bunda, tablonun adını, sütun adlarını ve değerleri (sütun adlarıyla aynı sırada) belirtmeniz gerekir.

Sözdizimi

MySQL'in INSERT INTO ifadesinin sözdizimi aşağıdadır.

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

Misal

Aşağıdaki sorgu EMPLOYEE adlı tabloya bir kayıt ekler.

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

SELECT deyimini kullanarak ekledikten sonra tablonun kayıtlarını doğrulayabilirsiniz -

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

Her zaman sütun adlarını belirtmek zorunlu değildir, bir kaydın değerlerini tablonun sütunlarıyla aynı sırada geçirirseniz, SELECT deyimini sütun adları olmadan aşağıdaki gibi çalıştırabilirsiniz -

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

Python kullanarak MySQL tablosuna veri ekleme

execute()yöntem (imleç nesnesinde çağrılan) bir sorguyu parametre olarak kabul eder ve verilen sorguyu yürütür. Veri eklemek için, MySQL INSERT ifadesini parametre olarak ona iletmeniz gerekir.

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

Python kullanarak MySQL'de bir tabloya veri eklemek için -

  • ithalat mysql.connector paketi.

  • Kullanarak bir bağlantı nesnesi oluşturun mysql.connector.connect() yöntem, kullanıcı adını, parolayı, ana bilgisayarı (isteğe bağlı varsayılan: localhost) ve veritabanını (isteğe bağlı) parametre olarak ona ileterek.

  • İmleç nesnesini çağırarak cursor() yukarıda oluşturulan bağlantı nesnesindeki yöntem

  • Ardından, INSERT ifadesini parametre olarak ileterek execute() yöntem.

Misal

Aşağıdaki örnek, EMPLOYEE tablosuna bir kayıt eklemek için SQL INSERT ifadesini yürütür -

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()

Değerleri dinamik olarak eklemek

Ayrıca, içindeki değerler yerine "% s" de kullanabilirsiniz. INSERT MySQL sorgusu ve değerleri aşağıda gösterildiği gibi listeler halinde onlara iletin -

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

Misal

Aşağıdaki örnek, Employee tablosuna dinamik olarak bir kayıt ekler.

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()

Çıktı

Data inserted