Aby ste mohli pracovať s MySQL pomocou Pythonu, musíte mať určité znalosti jazyka SQL
Pred ponorom do hĺbky to pochopíme
Čo je to MySQL?
MySQL je open-source databáza a jeden z najlepších typov RDBMS (Relational Database Management System). Spoluzakladateľom MySQLdb je Michael Widenius a taktiež meno MySQL je odvodené od Michaelovej dcéry.
Ako nainštalovať MySQL
Nainštalujte MySQL do systému Linux / Unix:
Stiahnite si balík RPM pre Linux / Unix z oficiálnej stránky: https://www.mysql.com/downloads/
V termináli použite nasledujúci príkaz
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Skontrolovať v systéme Linux
mysql --version
Nainštalujte MySQL do systému Windows
Stiahnite si databázu MySQL exe z oficiálnych stránok a nainštalujte ako obvykle bežnú inštaláciu softvéru v systéme Windows. V tejto príručke nájdete podrobného sprievodcu
Nainštalujte si knižnicu MySQL Connector Library pre Python
Pre inštaláciu Pythonu 2.7 alebo nižšiu pomocou pip ako:
pip install mysql-connector
Pre verziu Pythonu 3 alebo novšiu nainštalujte pomocou pip3 ako:
pip3 install mysql-connector
Vyskúšajte pripojenie k databáze MySQL s programom Python
Na otestovanie pripojenia k databáze tu používame predinštalovaný konektor MySQL a odovzdáme poverenia do funkcie connect () ako hostiteľ, používateľské meno a heslo.
Syntax pre prístup k MySQL s Pythonom:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Príklad,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Výkon:
Tu výstup zobrazuje pripojenie vytvorené úspešne.
Vytváranie databáz v MySQL pomocou Pythonu
Syntax na vytvorenie novej databázy v SQL je
CREATE DATABASE "database_name"
Teraz vytvoríme databázu pomocou Pythonu v 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)
Výkon:
Tu vyššie uvedený obrázok ukazuje, že je vytvorená databáza my_first_db
Vytvorte tabuľku v MySQL s Pythonom
Vytvorme jednoduchú tabuľku „študent“, ktorá má dva stĺpce.
Syntax SQL:
CREATE TABLE student (id INT, name VARCHAR(255))
Príklad:
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)
Výkon:
('student',)
Vytvorte tabuľku s primárnym kľúčom
Vytvorme tabuľku zamestnancov s tromi rôznymi stĺpcami. Do stĺpca id pridáme primárny kľúč s obmedzením AUTO_INCREMENT
Syntax SQL,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Príklad,
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)
Výkon:
('employee',) ('student',)
ALTER tabuľka v MySQL s Pythonom
Príkaz Alter sa používa na modifikáciu štruktúry tabuľky v SQL. Tu zmeníme Študentskú tabuľku a do poľa id pridáme primárny kľúč .
Syntax SQL,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Príklad,
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")
Výkon:
Tu nižšie vidíte, že stĺpec id je upravený.
Vložte operáciu s MySQL v Pythone:
Vykonajme operáciu vloženia do tabuľky databázy MySQL, ktorú sme už vytvorili. Vložíme údaje o tabuľke STUDENT a ZAMESTNANEC.
Syntax SQL,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Príklad,
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")
Výkon:
2 Record Inserted