Hướng dẫn insert into sql python

Câu lệnh INSERT INTO được sử dụng để thêm một bản ghi vào bảng. Trong python, chúng ta có thể sử dụng [%s] thay cho các giá trị.

INSERT 1 bản ghi

Phương thức cursor.execute[] được sử dụng để insert 1 bản ghi vào table.

Chúng ta cung cấp các giá trị thực tế trong một tuple trong phương thức cursor.execute[].

import mysql.connector

#tạo đối tượng connection
myconn = mysql.connector.connect[host = "localhost", user = "root",
    passwd = "1234567890", database = "PythonDB"]

#tạo đối tượng cursor
cur = myconn.cursor[]
sql = ["insert into Employee[name, id, salary, dept_id, branch_name] "
    + "values [%s, %s, %s, %s, %s]"]

#giá trị của một row được cung cấp dưới dạng tuple
val = ["The Mac", 10001, 25000.00, 101, "Hanoi"]

try:
    #inserting the values into the table
    cur.execute[sql,val]

    #commit the transaction
    myconn.commit[]

except:
    myconn.rollback[]

print[cur.rowcount,"record inserted!"]
myconn.close[]

Kết quả:


INSERT nhiều bản ghi

Phương thức cursor.executemany[] được sử dụng để insert 1 bản ghi vào table.

import mysql.connector

#tạo đối tượng connection
myconn = mysql.connector.connect[host = "localhost", user = "root",
    passwd = "1234567890", database = "PythonDB"]

#tạo đối tượng cursor
cur = myconn.cursor[]
sql = ["insert into Employee[name, id, salary, dept_id, branch_name] "
    "values [%s, %s, %s, %s, %s]"]

#giá trị của một row được cung cấp dưới dạng tuple
val = [["Vinh", 10002, 26000.00, 101, "Hanoi"], 
       ["Trung", 10003, 26000.00, 102, "Danang"]]

try:
    #inserting the values into the table
    cur.executemany[sql, val]

    #commit the transaction
    myconn.commit[]

except:
    myconn.rollback[]

print[cur.rowcount,"record inserted!"]
myconn.close[]

Kết quả:

Insert Into Table

To fill a table in MySQL, use the "INSERT INTO" statement.

Example

Insert a record in the "customers" table:

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."]

Run example »

Important!: Notice the statement: mydb.commit[]. It is required to make the changes, otherwise no changes are made to the table.

Insert Multiple Rows

To insert multiple rows into a table, use the executemany[] method.

The second parameter of the executemany[] method is a list of tuples, containing the data you want to insert:

Example

Fill the "customers" table with data:

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."]

Run example »

Get Inserted ID

You can get the id of the row you just inserted by asking the cursor object.

Note: If you insert more than one row, the id of the last inserted row is returned.

Example

Insert one row, and return the 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]

Run example »


Chủ Đề