Chèn, cập nhật xóa trong mysql bằng python

Chúng ta thường cần lưu trữ một số dữ liệu vào cơ sở dữ liệu mysql. Có bốn thao tác cơ bản. chọn, chèn, cập nhật và xóa. Trong hướng dẫn này, chúng tôi sẽ giới thiệu cách vận hành cơ sở dữ liệu mysql bằng python cho người mới bắt đầu sử dụng python

Sơ bộ

Bạn nên cài gói python pymysql

pip install pymysql

Sau đó, chúng tôi sẽ tạo một lớp python để vận hành mysql

Tạo một lớp python có tên MySQLUtil

Chúng tôi sẽ thêm các thao tác chọn, chèn, cập nhật và xóa trong lớp python này

Cơ bản của MySQLUtil là.

#-*- coding: UTF-8 -*- 
import pymysql

class MySQLUtil():
    pass

Kết nối mysql trong python

Để vận hành mysql trong python, chúng ta nên kết nối nó trước. Đây là một ví dụ

    def connectDB(self, host, user, psw, db_name, charset='utf8'):
        self.db = pymysql.connect(host=host, user=user, password=psw, db= db_name, charset=charset)

thông số là

máy chủ . địa chỉ ip của mysql, chẳng hạn như localhost

người dùng . tên người dùng của mysql, chẳng hạn như root

psw . mật khẩu của người dùng

db_name . cơ sở dữ liệu bạn định vận hành trong mysql

bộ ký tự . bộ ký tự của dữ liệu trong db_name , tham số này xác định cách lưu dữ liệu vào db_name

Đóng kết nối mysql

Nếu bạn không vận hành mysql, bạn nên đóng kết nối

    def colseDB(self):
        self.db.close()

Chọn dữ liệu từ mysql

Select là một thao tác cơ bản trong mysql. Để chọn dữ liệu từ mysql bằng python, chúng tôi đã tạo một chức năng

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thực hiện các thao tác Chèn, Cập nhật, Xóa PostgreSQL từ Python. Nó còn được gọi là hoạt động DML. Ngoài ra, hãy tìm hiểu cách truyền tham số cho truy vấn SQL i. e. , sử dụng các biến Python trong truy vấn PostgreSQL để chèn, cập nhật và xóa dữ liệu bảng

Cuối cùng, chúng ta sẽ thấy việc sử dụng

1 Record inserted successfully into mobile table PostgreSQL connection is closed
3 để chèn, cập nhật và xóa nhiều hàng bằng một truy vấn duy nhất

Ngoài ra, Đọc

  • Giải bài tập Python PostgreSQL
  • Đọc Hướng dẫn Python PostgreSQL (Hướng dẫn đầy đủ)

Mục lục

  • điều kiện tiên quyết
  • Python PostgreSQL CHÈN vào bảng cơ sở dữ liệu
  • Python PostgreSQL CẬP NHẬT dữ liệu bảng
  • Python PostgreSQL Xóa hàng và cột của Bảng
  • Chèn, cập nhật và xóa nhiều hàng khỏi bảng PostgreSQL bằng hàm execmany()
    • Python Chèn nhiều hàng vào bảng PostgreSQL
    • Cập nhật nhiều hàng của bảng PostgreSQL bằng một Truy vấn duy nhất trong Python
    • Python PostgreSQL Xóa nhiều hàng khỏi một bảng
  • Bước tiếp theo

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

Trước khi thực hiện các chương trình sau, vui lòng đảm bảo rằng bạn có sẵn các chi tiết sau

  • Tên người dùng và mật khẩu bạn cần để kết nối PostgreSQL
  • Bảng cơ sở dữ liệu PostgreSQL cho hoạt động CRUD

Đối với bài viết này, tôi đang sử dụng bảng 'di động' được tạo trong cơ sở dữ liệu PostgreSQL của mình

Nếu chưa có bảng, bạn có thể tham khảo cách tạo bảng PostgreSQL từ Python

Chèn, cập nhật xóa trong mysql bằng python
Chèn, cập nhật xóa trong mysql bằng python
Bảng di động PostgreSQL

Python PostgreSQL CHÈN vào bảng cơ sở dữ liệu

Trong phần này, Chúng ta tìm hiểu cách thực hiện INSERT Query từ một ứng dụng Python để chèn các hàng vào bảng PostgreSQL bằng Psycopg2

Để thực hiện truy vấn SQL INSERT từ Python, bạn cần làm theo các bước đơn giản sau. –

  • Cài đặt psycopg2 bằng cách sử dụng pip
  • Thứ hai, Thiết lập kết nối cơ sở dữ liệu PostgreSQL trong Python
  • Tiếp theo, Xác định truy vấn Chèn. Tất cả những gì bạn cần biết là chi tiết cột của bảng
  • Thực hiện truy vấn INSERT bằng cách sử dụng
    1 Record inserted successfully into mobile table PostgreSQL connection is closed
    4. Đổi lại, bạn sẽ nhận được số hàng bị ảnh hưởng
  • Sau khi thực hiện thành công truy vấn, hãy cam kết các thay đổi của bạn với cơ sở dữ liệu
  • Đóng con trỏ và kết nối cơ sở dữ liệu PostgreSQL
  • Quan trọng nhất, Bắt ngoại lệ SQL nếu có
  • Cuối cùng, xác minh kết quả bằng cách chọn dữ liệu từ bảng PostgreSQL
import psycopg2

try:
    connection = psycopg2.connect(user="sysadmin",
                                  password="pynative@#29",
                                  host="127.0.0.1",
                                  port="5432",
                                  database="postgres_db")
    cursor = connection.cursor()

    postgres_insert_query = """ INSERT INTO mobile (ID, MODEL, PRICE) VALUES (%s,%s,%s)"""
    record_to_insert = (5, 'One Plus 6', 950)
    cursor.execute(postgres_insert_query, record_to_insert)

    connection.commit()
    count = cursor.rowcount
    print(count, "Record inserted successfully into mobile table")

except (Exception, psycopg2.Error) as error:
    print("Failed to insert record into mobile table", error)

finally:
    # closing database connection.
    if connection:
        cursor.close()
        connection.close()
        print("PostgreSQL connection is closed")

đầu ra

1 Record inserted successfully into mobile table PostgreSQL connection is closed

Chèn, cập nhật xóa trong mysql bằng python
Chèn, cập nhật xóa trong mysql bằng python
Bảng PostgreSQL sau thao tác chèn

Chúng tôi đã sử dụng truy vấn được tham số hóa để sử dụng các biến Python làm giá trị tham số tại thời điểm thực thi. Cuối cùng, chúng tôi đã sử dụng commit() để thực hiện các thay đổi của chúng tôi liên tục vào cơ sở dữ liệu

Sử dụng truy vấn được tham số hóa, chúng ta có thể chuyển các biến python dưới dạng tham số truy vấn bằng cách sử dụng trình giữ chỗ (

1 Record inserted successfully into mobile table PostgreSQL connection is closed
5

Python PostgreSQL CẬP NHẬT dữ liệu bảng

Phần này sẽ tìm hiểu cách cập nhật dữ liệu của bảng PostgreSQL từ ứng dụng Python bằng Psycopg2

Bạn sẽ tìm hiểu cách cập nhật một và các hàng, một cột và nhiều cột của bảng PostgreSQL

Để thực hiện truy vấn CẬP NHẬT PostgreSQL từ Python, bạn cần làm theo các bước sau. –

  • Thiết lập kết nối cơ sở dữ liệu PostgreSQL trong Python
  • Xác định truy vấn câu lệnh CẬP NHẬT để cập nhật dữ liệu của bảng PostgreSQL
  • Thực hiện truy vấn CẬP NHẬT bằng cách sử dụng 
    1 Record inserted successfully into mobile table PostgreSQL connection is closed
    4
  • Đóng con trỏ và kết nối cơ sở dữ liệu

Bây giờ, hãy xem ví dụ để cập nhật một hàng của bảng cơ sở dữ liệu

#-*- coding: UTF-8 -*- 
import pymysql

class MySQLUtil():
    pass
0

đầu ra

#-*- coding: UTF-8 -*- 
import pymysql

class MySQLUtil():
    pass
1

Chèn, cập nhật xóa trong mysql bằng python
Chèn, cập nhật xóa trong mysql bằng python
Bảng PostgreSQL sau thao tác cập nhật

Xác minh kết quả của thao tác cập nhật ở trên bằng cách Chọn dữ liệu từ bảng PostgreSQL bằng Python

Python PostgreSQL Xóa hàng và cột của Bảng

Phần này sẽ tìm hiểu cách Xóa dữ liệu của bảng PostgreSQL khỏi Python bằng Psycopg2

Hãy xem điều này với một chương trình ví dụ. Trong ví dụ Python này, chúng tôi đã chuẩn bị một truy vấn để xóa một hàng khỏi bảng PostgreSQL

#-*- coding: UTF-8 -*- 
import pymysql

class MySQLUtil():
    pass
2

đầu ra

#-*- coding: UTF-8 -*- 
import pymysql

class MySQLUtil():
    pass
3

Chèn, cập nhật xóa trong mysql bằng python
Chèn, cập nhật xóa trong mysql bằng python
Bảng PostgreSQL sau khi xóa hàng

Xác minh kết quả của thao tác xóa ở trên bằng cách Chọn dữ liệu từ bảng PostgreSQL bằng Python

Chèn, cập nhật và xóa nhiều hàng khỏi bảng PostgreSQL bằng cách sử dụng 1 Record inserted successfully into mobile table PostgreSQL connection is closed7

Ghi chú. Sử dụng phương pháp

1 Record inserted successfully into mobile table PostgreSQL connection is closed
3 để chèn, cập nhật, xóa nhiều hàng của bảng bằng một truy vấn duy nhất

Phương thức

1 Record inserted successfully into mobile table PostgreSQL connection is closed
3 thực thi truy vấn cơ sở dữ liệu đối với tất cả các tham số

Hầu hết thời gian, bạn cần chạy cùng một truy vấn nhiều lần nhưng với các dữ liệu khác nhau. Giống như chèn điểm danh của mỗi học sinh, tỷ lệ điểm danh khác nhau, nhưng truy vấn SQL giống nhau

Cú pháp của

1 Record inserted successfully into mobile table PostgreSQL connection is closed
7

#-*- coding: UTF-8 -*- 
import pymysql

class MySQLUtil():
    pass
8
  • Ở đây truy vấn có thể là bất kỳ truy vấn SQL nào (Chèn, cập nhật, xóa)
  • #-*- coding: UTF-8 -*- 
    import pymysql
    
    class MySQLUtil():
        pass
    01 không là gì ngoài danh sách các bộ dữ liệu làm đầu vào cho truy vấn
  • Mỗi bộ dữ liệu trong danh sách này chứa một hàng dữ liệu được chèn hoặc cập nhật vào bảng

Bây giờ, hãy xem cách sử dụng phương pháp này

Python Chèn nhiều hàng vào bảng PostgreSQL

Sử dụng truy vấn được tham số hóa và phương thức

1 Record inserted successfully into mobile table PostgreSQL connection is closed
7 của con trỏ để thêm nhiều hàng vào một bảng. Sử dụng trình giữ chỗ trong truy vấn được tham số hóa, chúng ta có thể chuyển các giá trị cột khi chạy

    def connectDB(self, host, user, psw, db_name, charset='utf8'):
        self.db = pymysql.connect(host=host, user=user, password=psw, db= db_name, charset=charset)
1

đầu ra

    def connectDB(self, host, user, psw, db_name, charset='utf8'):
        self.db = pymysql.connect(host=host, user=user, password=psw, db= db_name, charset=charset)
2

Chèn, cập nhật xóa trong mysql bằng python
Chèn, cập nhật xóa trong mysql bằng python
Bảng PostgreSQL sau khi chèn nhiều hàng

Cập nhật nhiều hàng của bảng PostgreSQL bằng một Truy vấn duy nhất trong Python

Ví dụ bạn muốn cập nhật lương của nhân viên. Hiện tại, mức lương của mỗi nhân viên là khác nhau, nhưng truy vấn cập nhật vẫn giữ nguyên.
Chúng tôi có thể cập nhật nhiều hàng của bảng bằng cách sử dụng truy vấn

1 Record inserted successfully into mobile table PostgreSQL connection is closed
3 và được tham số hóa

    def connectDB(self, host, user, psw, db_name, charset='utf8'):
        self.db = pymysql.connect(host=host, user=user, password=psw, db= db_name, charset=charset)
4

đầu ra

1 Record inserted successfully into mobile table PostgreSQL connection is closed
0

Chèn, cập nhật xóa trong mysql bằng python
Chèn, cập nhật xóa trong mysql bằng python
Bảng PostgreSQL sau khi cập nhật nhiều hàng

Ghi chú. Sử dụng

#-*- coding: UTF-8 -*- 
import pymysql

class MySQLUtil():
    pass
04 để lấy tổng số hàng bị ảnh hưởng bởi phương pháp
1 Record inserted successfully into mobile table PostgreSQL connection is closed
7

Python PostgreSQL Xóa nhiều hàng khỏi một bảng

Trong ví dụ này, Chúng tôi đã xác định truy vấn Xóa SQL với trình giữ chỗ chứa ID khách hàng cần xóa. Ngoài ra, đã chuẩn bị một danh sách các bản ghi sẽ bị xóa. Danh sách này chứa một bộ cho mỗi hàng. Ở đây chúng tôi đã tạo hai bộ dữ liệu để xóa hai hàng

1 Record inserted successfully into mobile table PostgreSQL connection is closed
1

đầu ra

1 Record inserted successfully into mobile table PostgreSQL connection is closed
2

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 một project Bài tập Cơ sở dữ liệu Python để Thực hành và thành thạo các thao tác Cơ sở dữ liệu Python