Afin de travailler avec MySQL en utilisant 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 (système de gestion de base de données relationnelle). Le co-fondateur de MySQLdb est celui de Michael Widenius, et le nom de MySQL vient également de la fille de Michael.
Comment installer MySQL
Installez MySQL sous Linux / Unix:
Téléchargez le package RPM pour Linux / Unix à partir du site officiel: https://www.mysql.com/downloads/
Dans le terminal, utilisez la commande suivante
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Pour vérifier sous Linux
mysql --version
Installez MySQL sous Windows
Téléchargez l'exe de base de données MySQL à partir du site officiel et installez comme d'habitude l'installation normale du logiciel sous Windows. Référez-vous à ce tutoriel, pour un guide étape par étape
Installer la bibliothèque de connecteurs MySQL pour Python
Pour Python 2.7 ou une installation inférieure en utilisant pip comme:
pip install mysql-connector
Pour Python 3 ou version supérieure, installez en utilisant pip3 comme:
pip3 install mysql-connector
Tester la connexion à la base de données MySQL avec Python
Pour tester la connexion à la base de données ici, nous utilisons un connecteur MySQL préinstallé et transmettons les informations d'identification à la fonction connect () comme l'hôte, le nom d'utilisateur et le mot de passe.
Syntaxe pour accéder à MySQL avec Python:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Exemple,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Production:
Ici, la sortie montre la connexion créée avec succès.
Créer 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 Python dans 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)
Production:
L'image ci-dessus montre que la base de données my_first_db est créée
Créer une table dans MySQL avec Python
Créons un simple tableau "étudiant" qui comporte deux colonnes.
Syntaxe SQL:
CREATE TABLE student (id INT, name VARCHAR(255))
Exemple:
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)
Production:
('student',)
Créer une table avec la clé primaire
Créons une table Employee avec trois colonnes différentes. Nous ajouterons une clé primaire dans la colonne id avec la contrainte AUTO_INCREMENT
Syntaxe SQL,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Exemple,
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)
Production:
('employee',) ('student',)
Table ALTER en MySQL avec Python
La commande Alter est utilisée pour modifier la structure de la table dans SQL. Ici, nous modifierons la table Student et ajouterons une clé primaire au champ id .
Syntaxe SQL,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Exemple,
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")
Production:
Ci-dessous, vous pouvez voir que la colonne id est modifiée.
Insérer une opération avec MySQL en Python:
Effectuons l'opération d'insertion dans la table de la base de données MySQL que nous créons déjà. Nous insérerons les données de la table STUDENT et de la table EMPLOYEE.
Syntaxe SQL,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Exemple,
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")
Production:
2 Record Inserted