Norėdami dirbti su „MySQL“ naudodami „Python“, turite žinoti apie SQL
Prieš nerdami gilyn, supraskime
Kas yra „MySQL“?
„MySQL“ yra atvirojo kodo duomenų bazė ir vienas iš geriausių RDBMS (Reliacinių duomenų bazių valdymo sistemos) tipų. „MySQLdb“ įkūrėjas yra Michaelas Wideniusas, taip pat „MySQL“ vardas kilęs iš Michaelo dukters.
Kaip įdiegti MySQL
Įdiekite „MySQL“ sistemoje „Linux / Unix“:
Atsisiųskite „Linux“ / „Unix“ RPM paketą iš oficialios svetainės: https://www.mysql.com/downloads/
Terminale naudokite šią komandą
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Norėdami patikrinti „Linux“
mysql --version
Įdiekite „MySQL“ sistemoje „Windows“
Atsisiųskite „MySQL“ duomenų bazę exe iš oficialios svetainės ir įdiekite įprastą „Windows“ programinės įrangos diegimą. Žr. Šią pamoką, kad gautumėte nuoseklų vadovą
Įdiekite „MySQL Connector Library“, skirtą „Python“
Jei naudojate „Python 2.7“ ar senesnę versiją, naudokite „pip“ kaip:
pip install mysql-connector
Jei naudojate „Python 3“ ar naujesnę versiją, įdiekite naudodami „pip3“ kaip:
pip3 install mysql-connector
Išbandykite „MySQL“ duomenų bazės ryšį su „Python“
Norėdami išbandyti duomenų bazės ryšį, čia mes naudojame iš anksto įdiegtą „MySQL“ jungtį ir perduodame kredencialus į connect () funkciją, pvz., Pagrindinį kompiuterį, vartotojo vardą ir slaptažodį.
Sintaksė norint pasiekti „MySQL“ naudojant „Python“:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Pavyzdys,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Išvestis:
Čia išvestis rodo sėkmingai sukurtą ryšį.
Duomenų bazės kūrimas MySQL naudojant „Python“
Sintaksė sukurti naują duomenų bazę SQL yra
CREATE DATABASE "database_name"
Dabar mes kuriame duomenų bazę naudodami „Python“ 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)
Išvestis:
Aukščiau pateiktame paveikslėlyje parodyta, kad sukurta „ my_first_db“ duomenų bazė
Sukurkite „MySQL“ lentelę naudodami „Python“
Sukurkime paprastą lentelę „studentas“, kurioje yra du stulpeliai.
SQL sintaksė:
CREATE TABLE student (id INT, name VARCHAR(255))
Pavyzdys:
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)
Išvestis:
('student',)
Sukurkite lentelę su pagrindiniu raktu
Sukurkime lentelę „ Darbuotojas“ su trimis skirtingais stulpeliais. Į ID stulpelį pridėsime pagrindinį raktą su AUTO_INCREMENT apribojimu
SQL sintaksė,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Pavyzdys,
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)
Išvestis:
('employee',) ('student',)
ALTER lentelė MySQL su Python
Alter komanda naudojama lentelės struktūrai modifikuoti SQL. Čia mes pakeisime Studentų lentelę ir pridėsime pagrindinį raktą į ID lauką.
SQL sintaksė,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Pavyzdys,
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")
Išvestis:
Čia galite pamatyti, kaip pakeistas ID stulpelis.
Įterpti operaciją su „MySQL“ į „Python“:
Atlikime įterpimo operaciją jau sukurtoje „MySQL Database“ lentelėje. Įterpsime lentelės „STUDENT“ ir „EMPLOYEE“ duomenis.
SQL sintaksė,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Pavyzdys,
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")
Išvestis:
2 Record Inserted