Abyste mohli pracovat s MySQL pomocí Pythonu, musíte mít určité znalosti jazyka SQL
Než se ponoříme hluboko, pochopme to
Co je MySQL?
MySQL je databáze typu Open-Source a jeden z nejlepších typů RDBMS (Relational Database Management System). Spoluzakladatel MySQLdb je Michael Widenius a také název MySQL je odvozen od dcery Michaela.
Jak nainstalovat MySQL
Nainstalujte MySQL do systému Linux / Unix:
Stáhněte si balíček RPM pro Linux / Unix z oficiálních stránek: https://www.mysql.com/downloads/
V terminálu použijte následující příkaz
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Zkontrolovat v Linuxu
mysql --version
Nainstalujte MySQL do Windows
Stáhněte si MySQL databázi exe z oficiálních stránek a nainstalujte jako obvykle normální instalaci softwaru ve Windows. V tomto výukovém programu najdete podrobného průvodce
Nainstalujte si knihovnu MySQL Connector pro Python
Pro instalaci Pythonu 2.7 nebo nižší pomocí pip jako:
pip install mysql-connector
Pro verzi Pythonu 3 nebo vyšší instalujte pomocí pip3 jako:
pip3 install mysql-connector
Vyzkoušejte připojení k databázi MySQL pomocí Pythonu
K testování připojení k databázi zde používáme předinstalovaný konektor MySQL a předáváme přihlašovací údaje do funkce connect (), jako je hostitel, uživatelské jméno a heslo.
Syntaxe pro přístup k MySQL s Pythonem:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Příklad,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Výstup:
Zde výstup ukazuje úspěšně vytvořené připojení.
Vytváření databáze v MySQL pomocí Pythonu
Syntaxe pro vytvoření nové databáze v SQL je
CREATE DATABASE "database_name"
Nyní vytvoříme databázi pomocí 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ýstup:
Zde výše obrázek ukazuje, že je vytvořena databáze my_first_db
Vytvořte tabulku v MySQL pomocí Pythonu
Vytvořme jednoduchou tabulku „student“, která má dva sloupce.
Syntaxe SQL:
CREATE TABLE student (id INT, name VARCHAR(255))
Pří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ýstup:
('student',)
Vytvořte tabulku s primárním klíčem
Vytvořme tabulku zaměstnanců se třemi různými sloupci. Do sloupce id přidáme primární klíč s omezením AUTO_INCREMENT
Syntaxe SQL,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Pří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ýstup:
('employee',) ('student',)
ALTER tabulka v MySQL s Pythonem
Příkaz Alter se používá k úpravě struktury tabulky v SQL. Zde upravíme Studentskou tabulku a do pole id přidáme primární klíč .
Syntaxe SQL,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Pří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ýstup:
Zde níže vidíte, že sloupec id je upraven.
Vložte operaci s MySQL v Pythonu:
Pojďme provést operaci vložení do tabulky databáze MySQL, kterou jsme již vytvořili. Vložíme údaje o tabulce STUDENT a tabulce ZAMĚSTNANEC.
Syntaxe SQL,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Pří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ýstup:
2 Record Inserted