Python avec MySQL: se connecter, créer une base de données, une table, insérer (exemples)

Table des matières:

Anonim

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