Python thực thi tệp mysql

Trong các kịch bản dữ liệu lớn, đôi khi chúng tôi sử dụng MySQL làm cơ sở dữ liệu quan hệ để lưu trữ dữ liệu giao dịch và Sqoop dữ liệu vào môi trường dựa trên HDFS để phân tích sâu hơn nhằm hiểu rõ hơn về doanh nghiệp từ dữ liệu. Chúng tôi tương tác với cơ sở dữ liệu mysql để lưu trữ và truy xuất dữ liệu, đôi khi chúng tôi tạo các bảng thông qua các tệp csv

Yêu cầu hệ thống

  • Cài đặt mô-đun python pydrive như sau
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    9
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    0
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    1
  • Liên kết để cài đặt cơ sở dữ liệu bàn làm việc mysql. bấm vào đây
  • Các mã dưới đây có thể được chạy trong sổ ghi chép Jupyter hoặc bất kỳ bảng điều khiển python nào

Bước 1. Chuẩn bị tệp CSV

Để bắt đầu, hãy chuẩn bị tệp CSV mà bạn muốn nhập vào MySQL. Ví dụ: tôi đã chuẩn bị một tệp CSV đơn giản với dữ liệu sau

Python thực thi tệp mysql
Python thực thi tệp mysql
Kết nối cơ sở dữ liệu MySQL trong Python

Chạy truy vấn bên dưới trên bảng điều khiển MySQL nếu bạn chưa tạo bất kỳ cơ sở dữ liệu nào trong MySQL. Nếu không, bạn có thể bỏ qua truy vấn bên dưới

Tạo cơ sở dữ liệu trong MySQL

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
4

Ví dụ để kết nối với Cơ sở dữ liệu MySQL trong Python

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")

đầu ra

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
0

Những điểm cần nhớ

  • Nắm bắt các ngoại lệ có thể xảy ra trong quá trình này bằng cách nhập lớp Lỗi từ mô-đun trình kết nối MySQL bằng cách sử dụng câu lệnh
    import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    04.
    Lớp lỗi rất hữu ích để gỡ lỗi khi chúng tôi không thể kết nối với MySQL. Ví dụ: LỖI TỪ CHỐI TRUY CẬP khi tên người dùng hoặc mật khẩu sai.
  • Phương thức 
    import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    6 có thể đưa ra một ngoại lệ
    import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    06 nếu một trong các tham số bắt buộc bị sai. Ví dụ: nếu bạn cung cấp tên cơ sở dữ liệu không có trong MySQL
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    07 là phương thức của lớp
    import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    7 mà qua đó chúng ta có thể xác minh ứng dụng Python của chúng ta có kết nối với MySQL hay không
  • Cuối cùng, chúng ta sẽ đóng kết nối cơ sở dữ liệu MySQL bằng phương thức
    import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    09 của lớp MySQLConnection

Tạo bảng MySQL từ Python

Bây giờ bạn đã biết cách kết nối với máy chủ MySQL từ Python, Trong phần này, chúng ta sẽ tìm hiểu cách tạo bảng trong MySQL từ Python. Hãy tạo bảng 'Máy tính xách tay' trong cơ sở dữ liệu 'Điện tử'

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
3

đầu ra

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
4

Hoạt động CRUD của Python MySQL

Ngoài ra, hãy tìm hiểu cách thực thi các thao tác MySQL khác nhau từ Python bằng cách tham khảo các bài viết sau

Nhấp vào từng hướng dẫn để nghiên cứu chi tiết các thao tác

  • Chèn hàng vào bảng MySQL từ Python. Chèn một và nhiều hàng vào bảng MySQL. Ngoài ra, hãy tìm hiểu cách sử dụng các biến Python trong truy vấn được tham số hóa để chèn dữ liệu động vào bảng
  • Chọn các hàng từ bảng MySQL bằng Python. Thực thi truy vấn SQL SELECT từ ứng dụng Python để tìm nạp các hàng từ bảng MySQL. Ngoài ra, hãy tìm hiểu cách xử lý kết quả truy vấn CHỌN, Tìm nạp tất cả các hàng hoặc một hàng từ bảng và đếm tổng số hàng của một bảng
  • Cập nhật các hàng của bảng MySQL từ Python. Cập nhật một hàng, nhiều hàng, một cột và nhiều cột khác nhau. Ngoài ra, hãy tìm hiểu cách sử dụng biến python trong truy vấn được tham số hóa để cập nhật dữ liệu bảng
  • Xóa các hàng của bảng khỏi Python. Xóa một hàng, nhiều hàng, một cột và nhiều cột khác nhau. Ngoài ra, hãy tìm hiểu cách Xóa tất cả Hàng, Xóa bảng và toàn bộ cơ sở dữ liệu khỏi MySQL bằng python
  • Thực thi các thủ tục lưu trữ MySQL từ Python và tìm hiểu cách chuyển các tham số IN và OUT cho thủ tục lưu trữ MySQL
  • Python Truy vấn được tham số hóa MySQL và Tuyên bố đã chuẩn bị. Tìm hiểu cách sử dụng Truy vấn được tham số hóa hoặc Câu lệnh đã chuẩn bị để sử dụng các biến Python trong truy vấn SQL để truyền dữ liệu động vào bảng MySQL
  • Python MySQL Cam kết và khôi phục để quản lý giao dịch. Quản lý các giao dịch cơ sở dữ liệu MySQL từ Python để duy trì thuộc tính ACID của các giao dịch MySQL bằng các phương thức commit() và rollback()
  • Tổng hợp kết nối cơ sở dữ liệu Python với MySQL. Tìm hiểu cách tạo và sử dụng nhóm kết nối để tăng hiệu suất của các ứng dụng Python MySQL của bạn
  • Python MySQL BLOB Chèn và truy xuất dữ liệu số. Tìm hiểu cách chèn hoặc tìm nạp bất kỳ thông tin kỹ thuật số nào, chẳng hạn như tệp, hình ảnh, video hoặc bài hát dưới dạng dữ liệu blob vào bảng MySQL từ Python

Danh sách đối số kết nối Python MySQL

Chúng tôi đã thảo luận về bốn đối số bắt buộc cần có để kết nối Máy chủ MySQL

Hãy xem những đối số kết nối nào khác mà chúng ta có thể sử dụng để giao tiếp với máy chủ MySQL từ Python. Dưới đây là danh sách tất cả các đối số kết nối khác và ý nghĩa của chúng

  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    30. Cổng TCP/IP của máy chủ MySQL. Giá trị này phải là một số nguyên. Chúng tôi có thể chỉ định số cổng khác nếu máy chủ MySQL đang nghe một cổng khác. Giá trị mặc định cho đối số cổng này là 3306
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    31. Chỉ định có sử dụng Unicode hay không. Giá trị mặc định là true
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    32. Bộ ký tự MySQL sẽ sử dụng, các biến bộ ký tự liên quan đến tương tác của máy khách với máy chủ. Có gần 30 đến 40 bộ mã máy chủ MySQL hỗ trợ. Giá trị mặc định của đối số bộ ký tự là “utf8″
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    33. Đặt nó thành true nếu bạn muốn tự động thực hiện các giao dịch. Nếu bạn muốn quản lý các giao dịch trong MySQL từ Python, bạn cần đặt giá trị này là đúng hoặc sai. Giá trị mặc định là Sai, tôi. e. , những thay đổi không được cam kết với cơ sở dữ liệu. Bạn cần gọi rõ ràng một phương thức cam kết để duy trì các thay đổi của mình trong cơ sở dữ liệu
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    34. Để tìm nạp cảnh báo, điều này rất hữu ích khi biết kết nối được thiết lập nhưng có cảnh báo. Giá trị mặc định là Sai
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    35. Đặt nó khi bạn muốn đưa ra một ngoại lệ đối với các cảnh báo. Giá trị mặc định là Sai
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    36. Hết thời gian chờ cho các kết nối ổ cắm TCP và Unix. Kết nối chấm dứt sau khi hết thời gian chờ này
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    37. Nếu đúng, các đối tượng con trỏ tìm nạp kết quả ngay sau khi thực hiện các truy vấn. Giá trị mặc định là Sai
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    38. Nếu đúng, kết quả MySQL được trả về nguyên trạng thay vì chuyển đổi thành các loại Python. Giá trị mặc định là Sai. Bạn có thể đặt nó thành true nếu bạn muốn kết quả truy vấn theo kiểu MySQL
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    39. Khi đặt thành True, sử dụng IPv6 khi một địa chỉ phân giải thành cả IPv4 và IPv6. Theo mặc định, IPv4 được sử dụng trong những trường hợp như vậy. Giá trị mặc định cho đối số này là sai
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    40. Đó là tên Nhóm kết nối mà bạn đang tạo hoặc sử dụng
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    41. Kích thước nhóm kết nối mà bạn muốn tạo. Giá trị mặc định là 5
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    42. Đặt lại các biến phiên khi kết nối được trả về nhóm. Mặc định là đúng
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    43. Chỉ định sử dụng phần mở rộng Python hay C thuần túy. Nếu use_pure=False, thì một mô-đun Python thuần túy được sử dụng; . Ngoài ra, nếu Tiện ích mở rộng C không khả dụng, MySQL Connector Python sẽ tự động quay trở lại triển khai Python thuần túy
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    44. Vị trí của tệp ổ cắm Unix. Chúng cho phép giao tiếp giữa hai quy trình
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    45. Plugin xác thực để sử dụng, Đã thêm vào 1. 2. 1
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    46. Đối chiếu MySQL để sử dụng. Bạn có thể sử dụng đối chiếu mà bạn đã đặt trong khi cài đặt Máy chủ MySQL. Giá trị mặc định là utf8_GeneralW_chiich
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    47. Đặt biến phiên sql_mode tại thời điểm kết nối

Sử dụng Từ điển để giữ các đối số Kết nối MySQL

Hơn nữa, hãy xem cách sử dụng từ điển để lưu trữ tất cả các đối số kết nối này

Nếu bạn có nhiều đối số kết nối, tốt nhất nên giữ chúng trong từ điển và sử dụng toán tử

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
48. ví dụ: bạn biết rằng bạn yêu cầu tối thiểu bốn đối số (i. e. , tên người dùng, mật khẩu, tên máy chủ, tên cơ sở dữ liệu) để kết nối MySQL

Nếu bạn có nhiều đối số kết nối, tốt nhất nên giữ chúng trong từ điển và sử dụng toán tử **. Trong những trường hợp đặc biệt, chúng ta cần nhiều hơn bốn đối số trong phương thức kết nối để kết nối cơ sở dữ liệu MySQL. Hãy hiểu điều này. Ví dụ: bên dưới là ba đối số kết nối khác mà chúng ta có thể sử dụng trong phương thức

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
6

  1. import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    50 – Hết thời gian chờ kết nối ổ cắm TCP và Unix
  2. import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    51 – Có tự động thực hiện giao dịch hay không. Mặc định này sai
  3. import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    41 – Kích thước nhóm kết nối nếu bạn muốn sử dụng nhóm kết nối

Bạn có thể sử dụng nhiều đối số kết nối khác theo nhu cầu của mình, thêm tất cả chúng vào từ điển và chuyển từ điển sang phương thức connect(). Hãy chứng minh điều đó trong ví dụ dưới đây

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
5

Thay đổi thời gian chờ kết nối MySQL từ Python

Đôi khi chúng ta cần thay đổi giá trị thời gian chờ kết nối nếu chúng ta đọc hoặc chèn dữ liệu mở rộng vào máy chủ MySQL. Kết nối chấm dứt nếu yêu cầu mất nhiều thời gian hơn giá trị này

Sử dụng đối số

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
50 của trình kết nối MySQL Python để quản lý các vấn đề về thời gian chờ bằng cách tăng giá trị thời gian chờ

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
50 là giá trị thời gian chờ tính bằng giây cho các kết nối ổ cắm TCP và Unix. Thời gian này biểu thị số giây mà máy chủ MySQL chờ để thực hiện yêu cầu hiện tại

Bạn cũng có thể đặt các Tham số sau của máy chủ MySQL bằng cách thực hiện truy vấn SQL từ Python để xử lý sự cố hết thời gian kết nối. Chỉ thay đổi giá trị của các tham số sau khi chỉ riêng đối số

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
50 không thể kiểm soát vấn đề hết thời gian chờ

  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    56. Số giây máy chủ sẽ chờ hoạt động trên một kết nối tương tác trước khi đóng nó
  • import mysql.connector
    from mysql.connector import Error
    
    try:
        connection = mysql.connector.connect(host='localhost',
                                             database='Electronics',
                                             user='pynative',
                                             password='pynative@#29')
        if connection.is_connected():
            db_Info = connection.get_server_info()
            print("Connected to MySQL Server version ", db_Info)
            cursor = connection.cursor()
            cursor.execute("select database();")
            record = cursor.fetchone()
            print("You're connected to database: ", record)
    
    except Error as e:
        print("Error while connecting to MySQL", e)
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    
    57 – Số giây mà máy chủ phải đợi hoạt động trên một kết nối trước khi đóng kết nối đó

Ví dụ

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
4

Như bạn có thể thấy, tôi đã đặt tất cả các giá trị thời gian chờ kết nối thành 180 giây, tôi. e. , 3 phút trong chương trình trên

Kết nối với MySQL bằng phần mở rộng Trình kết nối Python C

Mô-đun trình kết nối Python có giao diện Tiện ích mở rộng C để kết nối cơ sở dữ liệu MySQL. Đối số kết nối

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
43 xác định nên kết nối với MySQL bằng giao diện Python thuần túy hay Tiện ích mở rộng C

Giá trị mặc định của

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
43 là
import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
40 có nghĩa là nó sử dụng triển khai Python thuần túy để kết nối mà chúng ta đã thảo luận. Ví dụ dưới đây minh họa cách kết nối bằng tiện ích mở rộng C

import mysql.connector
from mysql.connector import Error

try:
    connection = mysql.connector.connect(host='localhost',
                                         database='Electronics',
                                         user='pynative',
                                         password='pynative@#29')
    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

except Error as e:
    print("Error while connecting to MySQL", e)
finally:
    if connection.is_connected():
        cursor.close()
        connection.close()
        print("MySQL connection is closed")
8

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 dự án 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

Tôi đã tạo bài tập Hệ thống thông tin bệnh viện bằng Python và MySQL. Bài tập này có sáu câu hỏi. Tôi đã cung cấp các bảng cần thiết để bạn có thể trực tiếp tiến hành giải các bài toán của Bài tập này

Làm cách nào để chạy tệp MySQL trong Python?

Quy trình thực hiện trong Python để làm việc với MySQL .
Kết nối với cơ sở dữ liệu
Tạo một đối tượng cho cơ sở dữ liệu của bạn
Thực hiện truy vấn SQL
Lấy bản ghi từ kết quả
Thông báo cho Cơ sở dữ liệu nếu bạn thực hiện bất kỳ thay đổi nào trong bảng

Bạn có thể thực thi tệp SQL bằng Python không?

Một cách nhanh chóng và dễ dàng để có thể chạy các truy vấn SQL bằng Python là sử dụng SQLite . SQLite là một thư viện sử dụng công cụ cơ sở dữ liệu SQL.

Làm cách nào để tải tệp SQL bằng Python?

Các bước để nhập tệp CSV vào SQL Server bằng Python .
Bước 1. Chuẩn bị tệp CSV. .
Bước 2. Nhập tệp CSV vào DataFrame. .
Bước 3. Kết nối Python với máy chủ SQL. .
Bước 4. Tạo bảng trong SQL Server bằng Python. .
Bước 5. Chèn dữ liệu DataFrame vào bảng. .
Bước 6. Thực hiện một bài kiểm tra

Làm cách nào để nhập tệp MySQL bằng Python?

Bước 1. Chuẩn bị tệp CSV. Để bắt đầu, hãy chuẩn bị tệp CSV mà bạn muốn nhập vào MySQL. .
Bước 2. Nhập tệp CSV vào DataFrame. .
Bước 3. Kết nối với MySQL bằng Python và tạo Cơ sở dữ liệu. .
Bước 4. Tạo bảng và Nhập dữ liệu CSV vào bảng MySQL. .
Bước 5. Truy vấn bảng