Python kullanarak MySQL ile çalışmak için biraz SQL bilgisine sahip olmalısınız
Derinlere dalmadan önce anlayalım
MySQL nedir?
MySQL, Açık Kaynaklı bir veritabanıdır ve en iyi RDBMS (İlişkisel Veritabanı Yönetim Sistemi) türlerinden biridir. MySQLdb'nin kurucu ortağı Michael Widenius'tur ve ayrıca MySQL adı Michael'ın kızından gelmektedir.
MySQL Nasıl Kurulur
MySQL'i Linux / Unix'e kurun:
Linux / Unix için RPM paketini Resmi siteden indirin: https://www.mysql.com/downloads/
Terminalde aşağıdaki komutu kullanın
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Linux'ta kontrol etmek için
mysql --version
MySQL'i Windows'a yükleyin
MySQL veritabanı exe'yi resmi siteden indirin ve Windows'ta her zamanki normal normal yazılım kurulumu gibi kurun. Adım adım kılavuz için bu eğiticiye bakın
Python için MySQL Bağlayıcı Kitaplığını Kurun
Python 2.7 veya daha düşük kurulum için pip kullanarak şu şekilde kurun:
pip install mysql-connector
Python 3 veya daha yüksek sürüm için pip3'ü şu şekilde kullanarak kurun:
pip3 install mysql-connector
MySQL Veritabanı bağlantısını Python ile test edin
Burada veritabanı bağlantısını test etmek için önceden yüklenmiş MySQL bağlayıcısını kullanıyoruz ve kimlik bilgilerini host, kullanıcı adı ve parola gibi connect () işlevine aktarıyoruz.
MySQL'e Python ile erişmek için sözdizimi:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Misal,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Çıktı:
Buradaki çıktı, başarıyla oluşturulan bağlantıyı gösterir.
Python kullanarak MySQL'de Veritabanı Oluşturma
SQL'de yeni veritabanı oluşturmak için sözdizimi
CREATE DATABASE "database_name"
Şimdi MySQL'de Python kullanarak veritabanı oluşturuyoruz
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)
Çıktı:
Yukarıdaki resim my_first_db veritabanının oluşturulduğunu göstermektedir
Python ile MySQL'de Tablo Oluşturun
İki sütunlu basit bir "öğrenci" tablosu oluşturalım.
SQL Sözdizimi:
CREATE TABLE student (id INT, name VARCHAR(255))
Misal:
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)
Çıktı:
('student',)
Birincil Anahtarla Tablo Oluşturun
Üç farklı sütun içeren bir Çalışan tablosu oluşturalım . AUTO_INCREMENT kısıtlaması ile id sütununa bir birincil anahtar ekleyeceğiz
SQL Sözdizimi,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Misal,
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)
Çıktı:
('employee',) ('student',)
Python ile MySQL'de ALTER tablosu
Alter komutu, SQL'de Tablo yapısının değiştirilmesi için kullanılır. Burada Öğrenci tablosunu değiştireceğiz ve id alanına bir birincil anahtar ekleyeceğiz .
SQL Sözdizimi,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Misal,
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")
Çıktı:
Aşağıda id sütununun değiştirildiğini görebilirsiniz.
Python'da MySQL ile İşlem Ekle:
Zaten oluşturduğumuz MySQL Veritabanı tablosuna ekleme işlemi yapalım. ÖĞRENCİ tablosu ve ÇALIŞAN tablosunun verilerini ekleyeceğiz.
SQL Sözdizimi,
INSERT INTO student (id, name) VALUES (01, "John")INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
Misal,
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")
Çıktı:
2 Record Inserted