Python con MySQL Connettività: database e tabella [Esempi]

⚡ Riepilogo intelligente

Python si collega a un file MySQL database utilizzando la libreria mysql-connector. Qui imparerai a installare il connettore, a connetterti a MySQLCreare database e tabelle, aggiungere chiavi primarie, modificare tabelle e inserire record, con esempi.

  • ???? Collegare: mysql.connector.connect() link Python a MySQL con host e credenziali.
  • Creare: Eseguire i comandi CREATE DATABASE e CREATE TABLE tramite un cursore.
  • Inserisci: Eseguire una query INSERT tramite la funzione execute(), quindi eseguire il commit() per salvare i record.
  • 🤖 Aiuto tramite intelligenza artificiale: Gli strumenti di intelligenza artificiale come Copilot generano MySQL codice connettore istantaneo.

Python con MySQL Connettività

Per poter utilizzare MySQL connettività con Python, devi avere una certa conoscenza di SQL

Prima di immergerci in profondità, capiamo

Cosa è MySQL?

MySQL è un database Open Source e uno dei migliori tipi di RDBMS (Relational Database Management System). Cofondatore di MySQLdb è di Michael Widenius, e anche MySQL il nome deriva dalla figlia di Michele.

Come installare MySQL Connettore Python on Windows, Linux/Unix

Installazione MySQL su 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 <Package_name>
Example   rpm -i MySQL-5.0.9.0.i386.rpm

Per verificare in Linux

mysql --version

Installazione MySQL in Windows

Scaricare MySQL exe del database da sito ufficiale e installa come al solito la normale installazione del software in Windows. Riferisci questo lezione, per una guida passo passo

Come installare MySQL Libreria di connettori per Python

Ecco come connettersi MySQL con Python:

Per Python Installazione 2.7 o precedente utilizzando pip come:

pip install mysql-connector

Per Python 3 o versione successiva installa utilizzando pip3 come:

pip3 install mysql-connector

Prova il MySQL Connessione al database con Python

Testare MySQL connettività del database in Python qui utilizzeremo il file preinstallato MySQL connettore e passare le credenziali in Collegare() funzionano come host, nome utente e password come mostrato di seguito Python MySQL esempio di connettore.

Sintassi per accedere MySQL con Python:

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

Esempio:

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

Uscita:

<mysql.connector.connection.MySQLConnection object at 0x000002338A4C6B00>

Qui l'output mostra la connessione creata correttamente.

Creazione del database in MySQL utilizzando Python

La sintassi per creare un nuovo database in SQL è

CREATE DATABASE "database_name"

Ora creiamo il database utilizzando la programmazione del database in 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)

Uscita:

Creazione del database in MySQL

L'immagine qui sopra mostra il il mio_primo_db viene creato il database

Crea una tabella in MySQL con Python

Creiamo una semplice tabella "studente" che ha due colonne come mostrato di seguito MySQL connettore Python esempio.

sintassi SQL:

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

Esempio:

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)

Uscita:

 ('student',)

Crea una tabella con chiave primaria

Creiamo un Dipendente tabella con tre colonne diverse. Aggiungeremo una chiave primaria id colonna con vincolo AUTO_INCREMENT come mostrato di seguito Python progetto con connettività al database.

sintassi SQL:

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

Esempio:

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)

Uscita:

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

Tabella ALTER in MySQL con Python

Il comando Alter viene utilizzato per modificare la struttura della tabella in SQL. Qui modificheremo studente tabella e aggiungi a chiave primaria ai id campo come mostrato di seguito Python MySQL progetto del connettore.

sintassi SQL:

ALTER TABLE student MODIFY id INT PRIMARY KEY

Esempio:

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")

Uscita:

Qui sotto potete vedere il id la colonna viene modificata.

Tabella ALTER in MySQL

inserire Operazione con MySQL in Python:

Eseguiamo l'operazione di inserimento in MySQL Tabella del database che abbiamo già creato. Inseriremo i dati della tabella STUDENTE e della tabella DIPENDENTE.

sintassi SQL:

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

Esempio:

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")

Uscita:

 2 Record Inserted

DOMANDE FREQUENTI

Installa mysql-connector con pip, quindi chiama mysql.connector.connect() con il tuo host, utente e password per ottenere un oggetto di connessione.

Crea un cursore, quindi esegui cursor.execute('CREATE DATABASE name'). Usa SHOW DATABASES per confermare che sia stato creato.

Connettiti, crea un cursore ed esegui un'istruzione CREATE TABLE. Aggiungi AUTO_INCREMENT PRIMARY KEY per numerare automaticamente la colonna ID.

Esegui una query SELECT con il cursore, quindi chiama fetchall() per tutte le righe o fetchone() per una singola riga.

Esegui un'istruzione UPDATE o DELETE con cursor.execute(), quindi esegui il commit(). Aggiungi sempre una clausola WHERE per specificare le righe da trattare.

Gli assistenti basati sull'intelligenza artificiale, come GitHub Copilot, completano automaticamente il codice dei connettori, generano query CRUD e suggeriscono istruzioni parametrizzate che prevengono le iniezioni SQL.

Sì. Gli strumenti basati sull'intelligenza artificiale scrivono funzioni di connessione e CRUD, mappano le tabelle alle classi e aggiungono la gestione degli errori per le query non riuscite.

La funzione commit() salva le modifiche in modo permanente. Senza di essa, le operazioni di INSERT, UPDATE e DELETE vengono annullate alla chiusura della connessione, con conseguente perdita di dati.

Riassumi questo post con: