Skip to main content

12-dars. Pythonni SQLga ulash

Dars maqsadlari:

  • Python dasturlash tilida MySQL ma'lumotlar bazasi bilan qanday ulanishni o'rganish.
  • MySQLga ulanish uchun zarur bo'lgan kutubxonalarni o'rnatish va sozlash.
  • Python yordamida ma'lumotlar bazasiga ma'lumot qo'shish, yangilash va o'chirishni bilish.
  • MySQLdan ma'lumotlarni olish va ularni analiz qilish.

Kirish

Bugun biz Python dasturlash tilini MySQL ma'lumotlar bazasi bilan qanday bog'lashimiz mumkinligini o'rganamiz. MySQL kuchli va keng tarqalgan ma'lumotlar bazasi hisoblanadi, Python esa oddiy va qulay dasturlash tili. Birgalikda ular ajoyib imkoniyatlar yaratadi!

Python va MySQL o'rtasidagi ulanish

Python dasturida MySQLga ulanish uchun avvalo mysql-connector-python yoki PyMySQL kabi kutubxonalarni o'rnatishimiz kerak. Ushbu kutubxonalar Python dasturlash tilidan MySQLga ma'lumot yuborish va qabul qilish imkonini beradi.

Kutubxonalarni o'rnatish

Pythonda MySQLga ulanish uchun quyidagi buyruqlar yordamida kerakli kutubxonani o'rnating:

pip install mysql-connector-python

yoki

pip install PyMySQL

MySQLga ulanish

Endi Python dasturimizda MySQLga ulanishimiz kerak. Buning uchun quyidagi kodni yozamiz:

Misol:

import mysql.connector

# MySQLga ulanish
try:
connection = mysql.connector.connect(
host='localhost', # MySQL serveri
user='foydalanuvchi', # MySQL foydalanuvchi nomi
password='parol', # MySQL foydalanuvchi paroli
database='malumotlar_bazasi' # MySQL ma'lumotlar bazasi nomi
)
if connection.is_connected():
print("MySQLga ulanish muvaffaqiyatli bo'ldi!")
except Exception as e:
print("Xato:", e)

Izoh:

  • host: MySQL serverining joylashuvi. Ko'pincha bu localhost.
  • user: MySQL foydalanuvchisi, masalan, root.
  • password: MySQL foydalanuvchisi paroli.
  • database: Ma'lumotlar bazasi nomi.

Ma'lumot qo'shish

Ma'lumotlar bazasiga yangi ma'lumotlar qo'shish uchun INSERT buyruqidan foydalanamiz.

Misol:

cursor = connection.cursor()
sql = "INSERT INTO talabalar (ismi, yoshi) VALUES (%s, %s)"
val = ("Ali", 21)
cursor.execute(sql, val)

connection.commit() # O'zgarishlarni saqlash

print(cursor.rowcount, "ta ma'lumot qo'shildi.")

Izoh:

  • cursor: MySQL buyruqlarini bajarish uchun foydalaniladigan ob'ekt.
  • execute: Berilgan SQL buyruqlarini bajaradi.
  • commit: O'zgarishlarni ma'lumotlar bazasiga saqlaydi.

Ma'lumotlarni yangilash

Ma'lumotlar bazasidagi mavjud ma'lumotlarni yangilash uchun UPDATE buyruqidan foydalanamiz.

Misol:

sql = "UPDATE talabalar SET yoshi = %s WHERE ismi = %s"
val = (22, "Ali")
cursor.execute(sql, val)

connection.commit() # O'zgarishlarni saqlash

print(cursor.rowcount, "ta ma'lumot yangilandi.")

Ma'lumotlarni o'chirish

Ma'lumotlarni o'chirish uchun DELETE buyruqidan foydalanamiz.

Misol:

sql = "DELETE FROM talabalar WHERE ismi = %s"
val = ("Ali",)
cursor.execute(sql, val)

connection.commit() # O'zgarishlarni saqlash

print(cursor.rowcount, "ta ma'lumot o'chirildi.")

Ma'lumotlarni olish

Ma'lumotlar bazasidan ma'lumotlarni olish uchun SELECT buyruqidan foydalanamiz.

Misol:

sql = "SELECT * FROM talabalar"
cursor.execute(sql)

result = cursor.fetchall() # Barcha ma'lumotlarni olish
for row in result:
print(row)

Izoh:

  • fetchall(): Barcha ma'lumotlarni ro'yxat sifatida qaytaradi.

Xulosa

Bugun biz Pythonni MySQLga qanday ulashimiz mumkinligini, ma'lumot qo'shish, yangilash, o'chirish va olishni o'rdik. Python va MySQLning birgalikda ishlashi juda kuchli va samarali.

Savollar va Javoblar

  1. Pythonni MySQLga ulash uchun qanday kutubxonalar kerak?
    • mysql-connector-python yoki PyMySQL.
  2. MySQLga ulanish qanday amalga oshiriladi?
    • mysql.connector.connect() funksiyasi yordamida.
  3. Ma'lumotlarni qanday qo'shish mumkin?
    • INSERT buyruqidan foydalanish orqali.
  4. Olingan ma'lumotlarni qanday ko'rish mumkin?
    • SELECT buyruqidan foydalanish orqali.
  5. MySQLga ulanishda xatolik yuz bersa, qanday qilish kerak?
    • try-except blokidan foydalanish orqali.