Per lavorare con MySQL usando Python, devi avere una certa conoscenza di SQL
Prima di immergersi in profondità, capiamo
Cos'è MySQL?
MySQL è un database Open Source e uno dei migliori tipi di RDBMS (Relational Database Management System). Il co-fondatore di MySQLdb è di Michael Widenius, e anche il nome MySQL deriva dalla figlia di Michael.
Come installare MySQL
Installa MySQL in Linux / Unix:
Scarica il pacchetto RPM per Linux / Unix dal sito ufficiale: https://www.mysql.com/downloads/
Nel terminale utilizzare il seguente comando
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Per controllare in Linux
mysql --version
Installa MySQL in Windows
Scarica l'exe del database MySQL dal sito ufficiale e installa normalmente l'installazione normale del software in Windows. Fare riferimento a questo tutorial, per una guida passo passo
Installa la libreria del connettore MySQL per Python
Per Python 2.7 o versioni precedenti, installa utilizzando pip come:
pip install mysql-connector
Per Python 3 o versione successiva, installa utilizzando pip3 come:
pip3 install mysql-connector
Testare la connessione al database MySQL con Python
Per testare la connessione al database qui utilizziamo il connettore MySQL preinstallato e passiamo le credenziali alla funzione connect () come host, nome utente e password.
Sintassi per accedere a MySQL con Python:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Esempio,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Produzione:
Qui l'output mostra la connessione creata con successo.
Creazione di database in MySQL utilizzando Python
La sintassi per creare un nuovo database in SQL è
CREATE DATABASE "database_name"
Ora creiamo database usando Python in 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)
Produzione:
L'immagine sopra mostra che il database my_first_db è stato creato
Crea una tabella in MySQL con Python
Creiamo una semplice tabella "studente" che ha due colonne.
Sintassi SQL:
CREATE TABLE student (id INT, name VARCHAR(255))
Esempio:
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)
Produzione:
('student',)
Crea una tabella con chiave primaria
Creiamo una tabella Employee con tre colonne differenti. Aggiungeremo una chiave primaria nella colonna id con vincolo AUTO_INCREMENT
Sintassi SQL,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Esempio,
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)
Produzione:
('employee',) ('student',)
Tabella ALTER in MySQL con Python
Il comando Alter viene utilizzato per modificare la struttura della tabella in SQL. Qui modificheremo la tabella Student e aggiungeremo una chiave primaria al campo id .
Sintassi SQL,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Esempio,
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")
Produzione:
Qui sotto puoi vedere che la colonna id è stata modificata.
Inserisci operazione con MySQL in Python:
Eseguiamo l'operazione di inserimento nella tabella del database MySQL che abbiamo già creato. Inseriremo i dati della tabella STUDENT e della tabella EMPLOYEE.
Sintassi SQL,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Esempio,
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")
Produzione:
2 Record Inserted