Om met MySQL te werken met Python, moet u enige kennis van SQL hebben
Laten we het eerst begrijpen voordat we diep gaan duiken
Wat is MySQL?
MySQL is een Open-Source-database en een van de beste soorten RDBMS (Relational Database Management System). Mede-oprichter van MySQLdb is Michael Widenius, en ook de naam MySQL is afgeleid van de dochter van Michael.
Hoe MySQL te installeren
Installeer MySQL in Linux / Unix:
Download het RPM-pakket voor Linux / Unix van de officiële site: https://www.mysql.com/downloads/
Gebruik in terminal de volgende opdracht
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Om Linux in te checken
mysql --version
Installeer MySQL in Windows
Download MySQL-database exe van de officiële site en installeer zoals gebruikelijk normale installatie van software in Windows. Raadpleeg deze tutorial voor een stapsgewijze handleiding
Installeer MySQL Connector Library voor Python
Voor Python 2.7 of lager installeer je pip als:
pip install mysql-connector
Installeer voor Python 3 of hoger met pip3 als:
pip3 install mysql-connector
Test de MySQL-databaseverbinding met Python
Om de databaseverbinding hier te testen, gebruiken we de vooraf geïnstalleerde MySQL-connector en geven we referenties door aan de connect () -functie zoals host, gebruikersnaam en wachtwoord.
Syntaxis voor toegang tot MySQL met Python:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Voorbeeld,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Uitgang:
Hier toont de uitvoer de verbinding die met succes is gemaakt.
Database maken in MySQL met Python
Syntaxis voor het maken van een nieuwe database in SQL is
CREATE DATABASE "database_name"
Nu maken we een database met 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)
Uitgang:
Bovenstaande afbeelding laat zien dat de my_first_db database is aangemaakt
Maak een tabel in MySQL met Python
Laten we een eenvoudige tabel "student" maken met twee kolommen.
SQL-syntaxis:
CREATE TABLE student (id INT, name VARCHAR(255))
Voorbeeld:
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)
Uitgang:
('student',)
Maak een tabel met primaire sleutel
Laten we een Medewerkerstabel maken met drie verschillende kolommen. We zullen een primaire sleutel toevoegen in de id- kolom met de AUTO_INCREMENT-beperking
SQL-syntaxis,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Voorbeeld,
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)
Uitgang:
('employee',) ('student',)
ALTER-tabel in MySQL met Python
De opdracht Alter wordt gebruikt voor het wijzigen van de tabelstructuur in SQL. Hier zullen we de studententabel wijzigen en een primaire sleutel toevoegen aan het id- veld.
SQL-syntaxis,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Voorbeeld,
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")
Uitgang:
Hieronder kunt u zien dat de ID- kolom is gewijzigd.
Bewerking invoegen met MySQL in Python:
Laten we een invoegbewerking uitvoeren in de MySQL-databasetabel die we al hebben gemaakt. We zullen gegevens invoegen van de STUDENT-tabel en de EMPLOYEE-tabel.
SQL-syntaxis,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Voorbeeld,
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")
Uitgang:
2 Record Inserted