MySQL-iga Pythoni abil töötamiseks peab teil olema mõningaid teadmisi SQL-ist
Enne sügavale sukeldumist mõistame
Mis on MySQL?
MySQL on avatud lähtekoodiga andmebaas ja üks parimat tüüpi RDBMS (Relatsiooniline andmebaaside haldussüsteem). MySQLdb kaasasutaja on Michael Widenius ja ka MySQL-i nimi tuleneb Michaeli tütrest.
Kuidas MySQL-i installida
Installige MySQL Linuxi / Unixi:
Laadige Linuxi / Unixi RPM-pakett alla ametlikelt saitidelt: https://www.mysql.com/downloads/
Terminalis kasutage järgmist käsku
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Linuxi sisselogimiseks
mysql --version
Installige MySQL Windowsi
Laadige MySQL andmebaas exe alla ametlikelt saitidelt ja installige Windowsi tavapärane tarkvara tavaline installimine. Siit leiate juhendi samm-sammult
Installige MySQL-i kontorikogu Pythoni jaoks
Pythoni 2.7 või vanema versiooni installimiseks kasutage pipi järgmiselt:
pip install mysql-connector
Python 3 või uuema versiooni korral installige pip3 järgmiselt:
pip3 install mysql-connector
Testige MySQL andmebaasi ühendust Pythoniga
Andmebaasiühenduse testimiseks kasutame siin eelinstallitud MySQL-pistikut ja edastame volitused connect () funktsiooni nagu host, kasutajanimi ja parool.
Süntaks MySQL-iga pääsemiseks Pythoniga:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Näide
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Väljund:
Siin väljund näitab edukalt loodud ühendust.
Andmebaasi loomine MySQL-is Pythoni abil
Süntaks uue andmebaasi loomiseks SQL-is on
CREATE DATABASE "database_name"
Nüüd loome andmebaasi MySQL-is Pythoni abil
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äljund:
Siin ülaltoodud pildil on näha andmebaasi my_first_db loomine
Looge MySQL-is Pythoniga tabel
Loome lihtsa tabeli "õpilane", millel on kaks veergu.
SQL-i süntaks:
CREATE TABLE student (id INT, name VARCHAR(255))
Näide:
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äljund:
('student',)
Looge esmase võtmega tabel
Loome kolme erineva veeruga töötaja tabeli. Lisame veergu ID primaarvõtme piiranguga AUTO_INCREMENT
SQL-i süntaks,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Näide
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äljund:
('employee',) ('student',)
ALTER tabel MySQL-is koos Pythoniga
Alteri käsku kasutatakse SQL-i tabeli struktuuri muutmiseks. Siin muudame õpilaste tabelit ja lisame ID- väljale primaarvõtme .
SQL-i süntaks,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Näide
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äljund:
Siin näete, et ID- veergu on muudetud.
Sisestage Pythonis toiming MySQL-iga:
Teeme sisestusoperatsiooni juba loodud MySQL andmebaasi tabelis. Sisestame tabeli STUDENT ja TÖÖTAJA andmed.
SQL-i süntaks,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Näide
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äljund:
2 Record Inserted