MySQL ile Python: Bağlan, Veritabanı Oluştur, Tablo, Ekle (Örnekler)

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 

Ilginç makaleler...