Python avec connectivité MySQL : base de données et table [Exemples]

Afin d'utiliser la connectivité MySQL avec Python, vous devez avoir une certaine connaissance de SQL

Avant de plonger profondément, comprenons

Qu'est-ce que MySQL?

MySQL est une base de données Open Source et l'un des meilleurs types de SGBDR (Relational Database Management System). Le co-fondateur de MySQLdb est Michael Widenius, et le nom MySQL dérive également de la fille de Michael.

Comment installer le connecteur MySQL Python sur Windows, Linux/Unix

Installez MySQL sous Linux/Unix :

Téléchargez le package RPM pour Linux/Unix depuis le site officiel : https://www.mysql.com/downloads/

En utilisation terminale, suivezwing commander

rpm  -i <Package_name>
Example   rpm -i MySQL-5.0.9.0.i386.rpm

Pour vérifier sous Linux

mysql --version

Installez MySQL dans Windows

Téléchargez l'exe de la base de données MySQL à partir de site officiel et installez comme d'habitude l'installation normale du logiciel dans Windows. Référez-vous à ceci tutoriel, pour un guide étape par étape

Comment installer la bibliothèque de connecteurs MySQL pour Python

Voici comment connecter MySQL à Python :

Pour Python 2.7 ou version antérieure, installez en utilisant pip comme :

pip install mysql-connector

Pour Python 3 ou version supérieure, installez en utilisant pip3 comme :

pip3 install mysql-connector

Testez la connexion à la base de données MySQL avec Python

Pour tester ici la connectivité de la base de données MySQL en Python, nous utiliserons le connecteur MySQL préinstallé et transmettrons les informations d'identification dans relier () fonctionnent comme l'hôte, le nom d'utilisateur et le mot de passe, comme indiqué dans l'exemple de connecteur Python MySQL ci-dessous.

Syntaxe pour accéder à MySQL avec Python :

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

Exemple:

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

Sortie:

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

Ici, la sortie montre la connexion créée avec succès.

Création d'une base de données dans MySQL à l'aide de Python

La syntaxe pour créer une nouvelle base de données dans SQL est

CREATE DATABASE "database_name"

Maintenant, nous créons une base de données en utilisant la programmation de base de données en 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)

Sortie:

Création d'une base de données dans MySQL

L'image ci-dessus montre le ma_première_db la base de données est créée

Créer une table dans MySQL avec Python

Créons une simple table « étudiant » qui comporte deux colonnes, comme indiqué dans l'exemple Python du connecteur MySQL ci-dessous.

SQL Syntaxe:

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

Mise en situation :

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)

Sortie:

 ('student',)

Créer une table avec la clé primaire

Créons un Employés tableau avec trois colonnes différentes. Nous ajouterons une clé primaire dans id colonne avec la contrainte AUTO_INCREMENT comme indiqué dans le projet Python ci-dessous avec connectivité à la base de données.

SQL Syntaxe:

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

Exemple:

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)

Sortie:

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

Table ALTER dans MySQL avec Python

La commande Alter est utilisée pour modifier la structure de la table dans SQL. Ici, nous allons modifier Étudiant tableau et ajoutez un clé primaire à la id comme indiqué dans le projet de connecteur Python MySQL ci-dessous.

SQL Syntaxe:

ALTER TABLE student MODIFY id INT PRIMARY KEY

Exemple:

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

Sortie:

Ci-dessous vous pouvez voir le id la colonne est modifiée.

Table ALTER dans MySQL

Insérer une opération avec MySQL en Python :

Effectuons une opération d'insertion dans la table de la base de données MySQL que nous avons déjà créée. Nous insérerons les données de la table STUDENT et de la table EMPLOYEE.

SQL Syntaxe:

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

Exemple:

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

Sortie:

 2 Record Inserted

Vérifiez également: - Tutoriel Python pour débutants : apprendre les bases de la programmation [PDF]