Για να δουλέψετε με τη MySQL χρησιμοποιώντας το Python, πρέπει να έχετε κάποια γνώση του SQL
Πριν βουτήξετε βαθιά, ας καταλάβουμε
Τι είναι η MySQL;
Η MySQL είναι μια βάση δεδομένων ανοιχτού κώδικα και ένας από τους καλύτερους τύπους RDBMS (Relational Database Management System). Συνιδρυτής του MySQLdb είναι ο Michael Widenius's, και επίσης το όνομα MySQL προέρχεται από την κόρη του Michael.
Τρόπος εγκατάστασης της MySQL
Εγκαταστήστε το MySQL σε Linux / Unix:
Λήψη πακέτου RPM για Linux / Unix από την Επίσημη ιστοσελίδα: https://www.mysql.com/downloads/
Στο τερματικό χρησιμοποιήστε την ακόλουθη εντολή
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Για έλεγχο στο Linux
mysql --version
Εγκαταστήστε το MySQL στα Windows
Κατεβάστε τη βάση δεδομένων MySQL exe από την επίσημη τοποθεσία και εγκαταστήστε ως συνήθως την κανονική εγκατάσταση λογισμικού στα Windows. Ανατρέξτε σε αυτό το σεμινάριο, για έναν βήμα προς βήμα οδηγό
Εγκαταστήστε το MySQL Connector Library για το Python
Για Python 2.7 ή χαμηλότερη εγκατάσταση χρησιμοποιώντας pip ως:
pip install mysql-connector
Για Python 3 ή νεότερη έκδοση εγκαταστήστε χρησιμοποιώντας το pip3 ως:
pip3 install mysql-connector
Δοκιμάστε τη σύνδεση βάσης δεδομένων MySQL με το Python
Για να δοκιμάσουμε τη σύνδεση βάσης δεδομένων εδώ χρησιμοποιούμε προεγκατεστημένο σύνδεσμο MySQL και μεταβιβάζουμε διαπιστευτήρια στη λειτουργία connect () όπως κεντρικός υπολογιστής, όνομα χρήστη και κωδικό πρόσβασης.
Σύνταξη για πρόσβαση στη MySQL με Python:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Παράδειγμα,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Παραγωγή:
Εδώ η έξοδος δείχνει τη σύνδεση που δημιουργήθηκε με επιτυχία.
Δημιουργία βάσης δεδομένων στο MySQL χρησιμοποιώντας το Python
Σύνταξη για δημιουργία νέας βάσης δεδομένων σε SQL είναι
CREATE DATABASE "database_name"
Τώρα δημιουργούμε βάση δεδομένων χρησιμοποιώντας το Python στη MySQL
import mysql.connectordb_connection = mysql.connector.connect(host= "localhost",user= "root",passwd= "root")# creating database_cursor to perform SQL operationdb_cursor = db_connection.cursor()# executing cursor with execute method and pass SQL querydb_cursor.execute("CREATE DATABASE my_first_db")# get list of all databasesdb_cursor.execute("SHOW DATABASES")#print all databasesfor db in db_cursor:print(db)
Παραγωγή:
Εδώ στην παραπάνω εικόνα εμφανίζεται η βάση δεδομένων my_first_db που δημιουργήθηκε
Δημιουργήστε έναν πίνακα στο MySQL με Python
Ας δημιουργήσουμε έναν απλό πίνακα "μαθητής" που έχει δύο στήλες.
Σύνταξη SQL:
CREATE TABLE student (id INT, name VARCHAR(255))
Παράδειγμα:
import mysql.connectordb_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)
Παραγωγή:
('student',)
Δημιουργήστε έναν πίνακα με πρωτεύον κλειδί
Ας δημιουργήσουμε έναν πίνακα υπαλλήλων με τρεις διαφορετικές στήλες. Θα προσθέσουμε ένα πρωτεύον κλειδί στη στήλη id με περιορισμό AUTO_INCREMENT
Σύνταξη SQL,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Παράδειγμα,
import mysql.connectordb_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 keydb_cursor.execute("CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))")#Get database tabledb_cursor.execute("SHOW TABLES")for table in db_cursor:print(table)
Παραγωγή:
('employee',) ('student',)
Πίνακας ALTER στο MySQL με Python
Η εντολή Alter χρησιμοποιείται για τροποποίηση της δομής του πίνακα σε SQL. Εδώ θα αλλάξουμε τον πίνακα μαθητή και θα προσθέσουμε ένα πρωτεύον κλειδί στο πεδίο ταυτότητας .
Σύνταξη SQL,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Παράδειγμα,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root",database="my_first_db")db_cursor = db_connection.cursor()#Here we modify existing column iddb_cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")
Παραγωγή:
Εδώ παρακάτω μπορείτε να δείτε ότι η στήλη id τροποποιείται.
Εισαγωγή λειτουργίας με MySQL στο Python:
Ας εκτελέσουμε τη λειτουργία εισαγωγής στον πίνακα βάσεων δεδομένων MySQL που ήδη δημιουργούμε. Θα εισαγάγουμε δεδομένα στον πίνακα ΦΟΙΤΗΤΩΝ και στον ΠΡΟΣΩΠΙΚΟ
Σύνταξη SQL,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Παράδειγμα,
import mysql.connectordb_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 datadb_cursor.execute(student_sql_query)#Execute cursor and pass query of employee and data of employeedb_cursor.execute(employee_sql_query)db_connection.commit()print(db_cursor.rowcount, "Record Inserted")
Παραγωγή:
2 Record Inserted