Python với kết nối MySQL: Trình kết nối, Tạo cơ sở dữ liệu, Bảng, Chèn [Ví dụ]

Để sử dụng kết nối MySQL với Python, bạn phải có một số kiến ​​thức về SQL

Trước khi lặn sâu, chúng ta hãy hiểu

MySQL là gì?

MySQL là cơ sở dữ liệu mã nguồn mở và là một trong những loại RDBMS (Hệ quản trị cơ sở dữ liệu quan hệ) tốt nhất. Người đồng sáng lập MySQLdb là Michael Widenius, và cũng là tên MySQL bắt nguồn từ con gái của Michael.

Trong hướng dẫn này, bạn sẽ học

Cách cài đặt Python Connector MySQL trên Windows, Linux / Unix

Cài đặt MySQL trong Linux / Unix:

Tải xuống gói RPM cho Linux / Unix từ trang web Chính thức: https://www.mysql.com/downloads/

Trong terminal, sử dụng lệnh sau

rpm -i 
Example rpm -i MySQL-5.0.9.0.i386.rpm 

Để đăng ký Linux

mysql --version

Cài đặt MySQL trong Windows

Tải xuống cơ sở dữ liệu MySQL exe từ trang web chính thức và cài đặt như cài đặt bình thường thông thường của phần mềm trong Windows. Tham khảo cái này hướng dẫn , để biết hướng dẫn từng bước

Cách cài đặt Thư viện trình kết nối MySQL cho Python

Đây là cách kết nối MySQL với Python:

Đối với Python 2.7 hoặc thấp hơn, hãy cài đặt bằng pip là:

pip install mysql-connector 

Đối với phiên bản Python 3 hoặc cao hơn, hãy cài đặt bằng pip3 như:

pip3 install mysql-connector 

Kiểm tra kết nối Cơ sở dữ liệu MySQL với Python

Để kiểm tra khả năng kết nối cơ sở dữ liệu MySQL bằng Python tại đây, chúng tôi sẽ sử dụng trình kết nối MySQL được cài đặt sẵn và chuyển thông tin đăng nhập vào liên kết() chức năng như máy chủ, tên người dùng và mật khẩu như được hiển thị trong ví dụ về trình kết nối Python MySQL bên dưới.

Cú pháp truy cập MySQL bằng Python:

 import mysql.connector db_connection = mysql.connector.connect( host='hostname', user='username', passwd='password' ) 

Thí dụ :

 import mysql.connector db_connection = mysql.connector.connect( host='localhost', user='root', passwd='root' ) print(db_connection) 

Đầu ra :

Ở đây đầu ra hiển thị kết nối được tạo thành công.

Tạo cơ sở dữ liệu trong MySQL bằng Python

Cú pháp tạo cơ sở dữ liệu mới trong SQL là

CREATE DATABASE 'database_name' 

Bây giờ chúng ta tạo cơ sở dữ liệu bằng cách sử dụng lập trình cơ sở dữ liệu bằng Python

 import mysql.connector db_connection = mysql.connector.connect( host= 'localhost', user= 'root', passwd= 'root' ) # creating database_cursor to perform SQL operation db_cursor = db_connection.cursor() # executing cursor with execute method and pass SQL query db_cursor.execute('CREATE DATABASE my_first_db') # get list of all databases db_cursor.execute('SHOW DATABASES') #print all databases for db in db_cursor: print(db) 

Đầu ra :

Đây hình ảnh trên cho thấy my_first_db cơ sở dữ liệu được tạo

Tạo bảng trong MySQL bằng Python

Hãy tạo một bảng đơn giản 'sinh viên' có hai cột như được hiển thị trong ví dụ Python trình kết nối MySQL bên dưới.

Cú pháp SQL :

CREATE TABLE student (id INT, name VARCHAR(255)) 

Thí dụ:

 import mysql.connector db_connection = mysql.connector.connect( host='localhost', user='root', passwd='root', database='my_first_db' ) db_cursor = db_connection.cursor() #Here creating database table as student' db_cursor.execute('CREATE TABLE student (id INT, name VARCHAR(255))') #Get database table' db_cursor.execute('SHOW TABLES') for table in db_cursor: print(table) 

Đầu ra :

 ('student',) 

Tạo bảng bằng khóa chính

Hãy tạo một Nhân viên bảng có ba cột khác nhau. Chúng tôi sẽ thêm một khóa chính vào Tôi cột có ràng buộc AUTO_INCREMENT như được hiển thị trong dự án Python bên dưới với kết nối cơ sở dữ liệu.

Cú pháp SQL :

CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6)) 

Thí dụ :

 import mysql.connector db_connection = mysql.connector.connect( host='localhost', user='root', passwd='root', database='my_first_db' ) db_cursor = db_connection.cursor() #Here creating database table as employee with primary key db_cursor.execute('CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))') #Get database table db_cursor.execute('SHOW TABLES') for table in db_cursor: print(table) 

Đầu ra :

('employee',) ('student',)

Bảng ALTER trong MySQL với Python

Lệnh Alter được sử dụng để sửa đổi cấu trúc Bảng trong SQL. Ở đây chúng tôi sẽ thay đổi Sinh viên bảng và thêm một khóa chính đến Tôi như được hiển thị trong dự án trình kết nối Python MySQL bên dưới.

Cú pháp SQL :

ALTER TABLE student MODIFY id INT PRIMARY KEY 

Thí dụ :

 import mysql.connector db_connection = mysql.connector.connect( host='localhost', user='root', passwd='root', database='my_first_db' ) db_cursor = db_connection.cursor() #Here we modify existing column id db_cursor.execute('ALTER TABLE student MODIFY id INT PRIMARY KEY') 

Đầu ra :

Ở đây bên dưới bạn có thể thấy Tôi cột được sửa đổi.

Chèn hoạt động với MySQL bằng Python:

Hãy thực hiện thao tác chèn trong bảng Cơ sở dữ liệu MySQL mà chúng ta đã tạo. Chúng ta sẽ chèn dữ liệu oi bảng SINH VIÊN và bảng NHÂN VIÊN.

Cú pháp SQL :

INSERT INTO student (id, name) VALUES (01, 'John') INSERT INTO employee (id, name, salary) VALUES(01, 'John', 10000) 

Thí dụ :

 import mysql.connector db_connection = mysql.connector.connect( host='localhost', user='root', passwd='root', database='my_first_db' ) db_cursor = db_connection.cursor() student_sql_query = 'INSERT INTO student(id,name) VALUES(01, 'John')' employee_sql_query = ' INSERT INTO employee (id, name, salary) VALUES (01, 'John', 10000)' #Execute cursor and pass query as well as student data db_cursor.execute(student_sql_query) #Execute cursor and pass query of employee and data of employee db_cursor.execute(employee_sql_query) db_connection.commit() print(db_cursor.rowcount, 'Record Inserted') 

Đầu ra :

 2 Record Inserted