Da biste mogli raditi s MySQL-om koristeći Python, morate imati određeno znanje SQL-a
Prije dubokog zaranja, shvatimo
Što je MySQL?
MySQL je baza podataka otvorenog koda i jedna od najboljih vrsta RDBMS-a (relacijski sustav upravljanja bazama podataka). Suosnivač MySQLdb-a je Michael Widenius, a također MySQL ime potječe od kćeri Michaela.
Kako instalirati MySQL
Instalirajte MySQL u Linux / Unix:
Preuzmite RPM paket za Linux / Unix sa službene stranice: https://www.mysql.com/downloads/
U terminalu koristite sljedeću naredbu
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Da biste provjerili Linux
mysql --version
Instalirajte MySQL u sustav Windows
Preuzmite MySQL bazu podataka exe sa službene stranice i instalirajte kao i obično normalnu instalaciju softvera u sustavu Windows. Pogledajte ovaj vodič za detaljni vodič
Instalirajte MySQL Connector Library za Python
Za Python 2.7 ili nižu instalaciju koristeći pip kao:
pip install mysql-connector
Za Python 3 ili noviju verziju instalirajte pomoću pip3 kao:
pip3 install mysql-connector
Testirajte vezu MySQL baze podataka s Pythonom
Za testiranje veze baze podataka ovdje koristimo unaprijed instalirani MySQL konektor i prosljeđujemo vjerodajnice u funkciju connect () poput hosta, korisničkog imena i lozinke.
Sintaksa za pristup MySQL-u s Pythonom:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Primjer,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Izlaz:
Ovdje izlaz prikazuje vezu koja je uspješno stvorena.
Stvaranje baze podataka u MySQL-u pomoću Pythona
Sintaksa za stvaranje nove baze podataka u SQL je
CREATE DATABASE "database_name"
Sada stvaramo bazu podataka koristeći Python u MySQL-u
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)
Izlaz:
Ovdje slika iznad prikazuje stvorenu bazu podataka my_first_db
Stvorite tablicu u MySQL-u pomoću Pythona
Stvorimo jednostavnu tablicu "student" koja ima dva stupca.
Sintaksa SQL:
CREATE TABLE student (id INT, name VARCHAR(255))
Primjer:
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)
Izlaz:
('student',)
Stvorite tablicu s primarnim ključem
Stvorimo tablicu zaposlenika s tri različita stupca. U stupac id ćemo dodati primarni ključ s ograničenjem AUTO_INCREMENT
Sintaksa SQL,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Primjer,
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)
Izlaz:
('employee',) ('student',)
Tablica ALTER u MySQL-u s Pythonom
Naredba Alter koristi se za izmjenu strukture tablice u SQL-u. Ovdje ćemo izmijeniti studentsku tablicu i dodati primarni ključ u polje id .
Sintaksa SQL,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Primjer,
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")
Izlaz:
Ovdje dolje možete vidjeti da je stupac id izmijenjen.
Umetni rad s MySQL-om u Pythonu:
Izvršimo operaciju umetanja u tablicu baze podataka MySQL koju već kreiramo. Umetnut ćemo podatke o tablici STUDENT i tablici ZAPOSLENI.
Sintaksa SQL,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Primjer,
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")
Izlaz:
2 Record Inserted