Hướng dẫn python insert tuple to mysql - python chèn tuple vào mysql

Giả sử rằng cơ sở dữ liệu MySQL có tên là thử nghiệm có mặt trên máy chủ và một bảng có tên là nhân viên cũng được tạo. Bảng có năm lĩnh vực fname, lname, tuổi, giới tính và tiền lương.

Một đối tượng tuple chứa dữ liệu của bản ghi được xác định là

t1=['Mac', 'Mohan', 20, 'M', 2000]

Để thiết lập giao diện giữa MySQL & NBSP; và Python 3, bạn cần cài đặt mô -đun PYMYSQL. Sau đó, bạn có thể thiết lập kết nối bằng cách sử dụng các câu lệnh sau

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]

Bước tiếp theo là thiết lập truy vấn chèn bằng dữ liệu trong bộ tu

sql="insert into employee values[%s,%s,%d,%s,%d]" %t1

Bây giờ truy vấn này được thực thi bằng phương thức Execute [] của đối tượng con trỏ

cursor.execute[sql]

Nếu bạn kiểm tra nội dung của bảng nhân viên, nó sẽ hiển thị bản ghi mới được thêm vào trong đó.

Cập nhật vào ngày 18 tháng 8 năm 2020 08:03:23

  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để chèn một tuple python trong cơ sở dữ liệu PostgreSQL?
  • Làm thế nào để chèn dữ liệu vào cơ sở dữ liệu MySQL với Java?
  • Làm thế nào để chèn thập phân vào cơ sở dữ liệu MySQL?
  • Làm thế nào để chèn một đối tượng Python trong MySQL?
  • Ứng dụng Java để chèn giá trị null vào cơ sở dữ liệu MySQL?
  • Hoạt động chèn cơ sở dữ liệu trong Python
  • Làm thế nào để có được ID sau khi chèn vào cơ sở dữ liệu MySQL bằng Python?
  • Chèn ngày hiện tại vào cơ sở dữ liệu trong MySQL?
  • Làm thế nào để chúng tôi chèn/lưu trữ một tệp vào cơ sở dữ liệu MySQL bằng JDBC?
  • Làm thế nào để chèn một bản ghi vào một bảng trong cơ sở dữ liệu bằng API JDBC?
  • Làm thế nào để chèn giá trị dấu thời gian vào cơ sở dữ liệu bằng chương trình JDBC?
  • Làm thế nào để hình thành một chèn có điều kiện MySQL?
  • Làm cách nào để lấy ID sau khi chèn vào cơ sở dữ liệu MySQL trong Python?
  • Làm thế nào để thực hiện một lần chèn hàng loạt trong mysql?
  • Làm thế nào để chèn một hình ảnh vào cơ sở dữ liệu MySQL bằng chương trình Java?

Như một nhận xét nói, phần

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
6 là một cuộc gọi hàm [hoặc lớp] - bất cứ điều gì được trả lại từ cuộc gọi đó cũng được trả lại từ câu lệnh
import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
7 này.

Hãy giả sử đó là một tuple. Điều gì sẽ xảy ra nếu "Người dùng không nhập bất cứ thứ gì vào

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
8" - vậy thì, tùy thuộc vào nhiều mã mà bạn không hiển thị cho chúng tôi, đó có thể là lỗi thời gian chạy [tên
import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
8 không được xác định], một chuỗi trống hoặc ban đầu khác Giá trị mặc định không bao giờ thay đổi, hoặc
sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
0; Trong trường hợp thứ hai mà cuối cùng sẽ trở thành
sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
1 trong DB [nếu có thể chấp nhận được theo lược đồ DB - nếu không, DB sẽ từ chối nỗ lực chèn].

Một khi bạn cuối cùng cũng có một tuple chính xác và thích hợp

sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
2 mà bạn muốn chèn,

`mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]

sẽ gần với cú pháp bạn muốn - nếu

sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
2 có sáu mục [và tất nhiên là
sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
4 có sáu cột]. Mỗi
sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
5 là một trình giữ chỗ và được thay thế bằng vật phẩm tương ứng.
sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
6 sẽ cần phải là một ví dụ của con trỏ, có lẽ có được bằng một số cuộc gọi trước đó đến
sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
7 trong đó
sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
8 là một ví dụ của kết nối, được xây dựng bởi cuộc gọi thích hợp đến
sql="insert into employee values[%s,%s,%d,%s,%d]" %t1
9 từ mô -đun API DB mà bạn đang sử dụng với các đối số phù hợp.

Nếu bạn cho chúng tôi thấy các lược đồ mã và DB nhiều hơn khoảng 100 lần và cho chúng tôi biết chính xác những gì bạn đang cố gắng thực hiện, chúng tôi, nói chung, không nghi ngờ gì nữa Bạn cung cấp đó là nhiều như chúng tôi, nói chung, có thể cung cấp ;-].

Bài viết này trình bày cách thực hiện truy vấn chèn từ Python để thêm một hàng mới vào bảng MySQL.execute INSERT Query from Python to add a new row into the MySQL table.

Trong bài học này, bạn sẽ tìm hiểu các hoạt động chèn Python MySQL sau đây bằng cách sử dụng mô -đun đầu nối ‘MySQL.

  • Chèn một và nhiều hàng vào bảng cơ sở dữ liệu.
  • Sử dụng truy vấn được tham số hóa để chèn giá trị biến Python [số nguyên, chuỗi, float, gấp đôi và datetime] vào bảng cơ sở dữ liệu.insert a Python variable value [Integer, string, float, double, and DateTime] into a database table.

Điều kiện tiên quyết

Trước khi di chuyển xa hơn, vui lòng đảm bảo bạn có những điều sau đây: -

  • Tên người dùng và mật khẩu để kết nối MySQL
  • Tên bảng MySQL trong đó bạn muốn chèn dữ liệu.

Tôi đã tạo một bảng ‘máy tính xách tay trong máy chủ MySQL để chèn các bản ghi vào đó. Xem cấu trúc cột của nó trong hình ảnh.

Bàn máy tính xách tay MySQL trống

Nếu một bảng không có trong máy chủ MySQL của bạn, bạn có thể tham khảo bài viết của chúng tôi để tạo bảng MySQL từ Python.

Bạn cũng có thể tải xuống một tệp truy vấn SQL, trong đó chứa các truy vấn SQL để tạo bảng và dữ liệu để bạn có thể sử dụng bảng này cho các hoạt động chèn của mình.

Chèn một hàng duy nhất vào bảng MySQL từ Python

Cách chèn vào bảng MySQL từ Python

  1. Kết nối với MySQL từ Python

    Tham khảo kết nối cơ sở dữ liệu Python MySQL để kết nối với cơ sở dữ liệu MySQL từ Python bằng mô -đun kết nối MySQL

  2. Xác định truy vấn chèn SQL

    Tiếp theo, chuẩn bị một truy vấn chèn SQL để chèn một hàng vào bảng. Trong truy vấn chèn, chúng tôi đề cập đến tên cột và giá trị của chúng để chèn vào bảng. Ví dụ,

    cursor.execute[sql]
    0
    For example,
    cursor.execute[sql]
    0

  3. Nhận đối tượng con trỏ từ kết nối

    Tiếp theo, sử dụng phương thức

    cursor.execute[sql]
    1 để tạo đối tượng con trỏ. Phương pháp này tạo ra một đối tượng
    cursor.execute[sql]
    2 mới.

  4. Thực thi truy vấn chèn bằng phương thức Execute []

    Thực hiện truy vấn chèn bằng phương pháp

    cursor.execute[sql]
    3. Phương pháp này thực thi thao tác được lưu trữ trong truy vấn chèn.

  5. Cam kết thay đổi của bạn

    Sau khi thực hiện thành công một truy vấn, làm cho các thay đổi vẫn tồn tại thành cơ sở dữ liệu bằng cách sử dụng

    cursor.execute[sql]
    4 của một lớp kết nối.

  6. Nhận số lượng hàng bị ảnh hưởng

    Sau khi hoạt động chèn thành công, hãy sử dụng phương pháp

    cursor.execute[sql]
    5 để có số lượng hàng bị ảnh hưởng. Số lượng phụ thuộc vào số lượng hàng bạn đang chèn.

  7. Xác minh kết quả bằng cách sử dụng truy vấn SQL Chọn

    Thực hiện truy vấn chọn MySQL từ Python để xem các thay đổi mới.

  8. Đóng đối tượng kết nối cơ sở dữ liệu và đối tượng con trỏ

    Sử dụng phương thức

    cursor.execute[sql]
    6 và
    cursor.execute[sql]
    7 để đóng các kết nối mở sau khi công việc của bạn hoàn thành.

Python chèn vào bảng mysql

Hãy xem chương trình ngay bây giờ

import mysql.connector

try:
    connection = mysql.connector.connect[host='localhost',
                                         database='electronics',
                                         user='pynative',
                                         password='pynative@#29']

    mySql_insert_query = """INSERT INTO Laptop [Id, Name, Price, Purchase_date] 
                           VALUES 
                           [15, 'Lenovo ThinkPad P71', 6459, '2019-08-14'] """

    cursor = connection.cursor[]
    cursor.execute[mySql_insert_query]
    connection.commit[]
    print[cursor.rowcount, "Record inserted successfully into Laptop table"]
    cursor.close[]

except mysql.connector.Error as error:
    print["Failed to insert record into Laptop table {}".format[error]]

finally:
    if connection.is_connected[]:
        connection.close[]
        print["MySQL connection is closed"]

Đầu ra

Record inserted successfully into Laptop table MySQL connection is closed

Bảng MySQL sau khi chèn hàng đầu tiên từ Python

Sử dụng các biến python trong truy vấn chèn mysql

Đôi khi bạn cần chèn một giá trị biến python vào cột bảng. Ví dụ: trong biểu mẫu đăng ký người dùng, người dùng nhập chi tiết của anh ấy/cô ấy. Bạn có thể lấy các giá trị đó trong các biến Python và chèn chúng vào một bảng.insert a Python variable value into a table’s column. For example, in the user signup form user enter his/her details. You can take those values in Python variables and insert them into a table.

  • Chúng ta có thể chèn các biến python vào bảng bằng cách sử dụng câu lệnh đã chuẩn bị và truy vấn được tham số hóa.
  • Sử dụng truy vấn được tham số hóa, chúng ta có thể chuyển các biến Python làm tham số truy vấn trong đó các khoản giữ chỗ [%s] được sử dụng cho các tham số.

Thí dụ

import mysql.connector

def insert_varibles_into_table[id, name, price, purchase_date]:
    try:
        connection = mysql.connector.connect[host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29']
        cursor = connection.cursor[]
        mySql_insert_query = """INSERT INTO Laptop [Id, Name, Price, Purchase_date] 
                                VALUES [%s, %s, %s, %s] """

        record = [id, name, price, purchase_date]
        cursor.execute[mySql_insert_query, record]
        connection.commit[]
        print["Record inserted successfully into Laptop table"]

    except mysql.connector.Error as error:
        print["Failed to insert into MySQL table {}".format[error]]

    finally:
        if connection.is_connected[]:
            cursor.close[]
            connection.close[]
            print["MySQL connection is closed"]


insert_varibles_into_table[2, 'Area 51M', 6999, '2019-04-14']
insert_varibles_into_table[3, 'MacBook Pro', 2499, '2019-06-20']

Output::

Record inserted successfully into Laptop table MySQL 
connection is closed 

Record inserted successfully into Laptop table MySQL connection is closed

Bảng máy tính xách tay MySQL sau khi chèn các biến Python

Tham khảo các hàng tìm nạp từ bảng MySQL trong Python để kiểm tra dữ liệu bạn đã chèn.

Chèn nhiều hàng vào bảng MySQL bằng con trỏ EXECUTEMANY []

Trong ví dụ trước, chúng tôi đã sử dụng phương thức

cursor.execute[sql]
8 của đối tượng
cursor.execute[sql]
9 để chèn một bản ghi duy nhất.

Điều gì sẽ xảy ra nếu bạn muốn chèn nhiều hàng vào bảng trong một truy vấn chèn từ ứng dụng Python. Sử dụng chức năng con trỏ

`mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]
0 để chèn nhiều bản ghi vào bảng.

Cú pháp & nbsp; của phương thức

`mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]
0.

cursor.executemany[operation, seq_of_params]

Phương thức này thực thi chèn & nbsp; ________ 42 & nbsp; so với tất cả các chuỗi tham số trong chuỗi & nbsp; ________ 43 & nbsp; đối số.executes Insert 

`mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]
2 against all parameter sequences in the sequence 
`mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]
3 argument.

Bạn cần bao gồm danh sách các bộ dữ liệu trong đối số

`mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]
3 cùng với truy vấn chèn.

Mỗi bộ phận bên trong danh sách chứa một hàng duy nhất mà bạn muốn chèn. Vì vậy, bạn có thể thêm càng nhiều hàng trong danh sách và chuyển danh sách cho chức năng

`mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]
5 cùng với truy vấn chèn.

LƯU Ý: Mỗi tuple được đặt trong ngoặc đơn và được phân tách bằng dấu phẩy. Ví dụ: để chèn nhiều hàng vào bảng máy tính xách tay, chúng ta có thể sử dụng truy vấn SQL sau:: Each tuple is enclosed within parentheses and separated by commas. For example, to insert multiple rows in a laptop table, we can use the following SQL Query:

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
0

Và trong

`mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]
3 chúng tôi đang vượt qua danh sách dưới đây.

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
1

Ví dụ để chèn nhiều hàng vào bảng MySQL

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
2

Output:

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
3

Bảng máy tính xách tay MySQL sau khi chèn nhiều hàng

Tham khảo tìm nạp dữ liệu từ bảng MySQL để xác minh kết quả của bạn.

Note:

  • Sử dụng
    `mycursor.execute['INSERT INTO sometable VALUES[?, ?, ?, ?, ?, ?]', T]
    
    7, chúng tôi đang chèn nhiều hàng [từ danh sách] vào bảng.
  • Sử dụng
    cursor.execute[sql]
    5, chúng ta có thể tìm thấy số lượng hồ sơ được chèn.

Chèn dấu thời gian và datetime vào bảng MySQL bằng Python

Ví dụ: bạn có một cột ngày trong bảng MySQL. Hãy để xem cách chuẩn bị một truy vấn chèn để thêm DateTime vào bảng từ Python

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
4

Bạn có thể nhận được đầu ra như thế này sau khi thực hiện mã trên.

import PyMySQL
# Open database connection
db = PyMySQL.connect["localhost","root","","test" ]
# prepare a cursor object using cursor[] method
cursor = db.cursor[]
5

Bước tiếp theo:

Để thực hành những gì bạn đã học trong bài viết này, vui lòng giải quyết một dự án tập thể dục cơ sở dữ liệu Python để thực hành và thành thạo các hoạt động của cơ sở dữ liệu Python.

Bài Viết Liên Quan

Chủ Đề