Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menghubungkan ke MySQL Menggunakan Python

Pada artikel ini, kita akan membahas bagaimana menghubungkan ke MySQL menggunakan Python. Python adalah salah satu bahasa pemrograman yang paling produktif dan banyak digunakan saat ini. Sintaksnya yang sederhana dan elegan membuatnya ideal untuk pemrogram baru, sementara pemrogram berpengalaman menikmati daftar ekstensif modul dan fungsi yang tersedia.

MySQL adalah sistem manajemen basis data relasional berbasis SQL open-source yang kuat yang digunakan di banyak program perangkat lunak dan server web. Artikel ini bertujuan untuk menunjukkan cara terhubung menggunakan Python untuk terhubung ke MySQL dan melakukan beberapa tugas dasar.

Mengapa Menggunakan Python untuk Terhubung ke MySQL?

Anda mungkin bertanya pada diri sendiri, mengapa informasi ini penting? Jawaban terbaiknya adalah, kedua komponen ini saling melengkapi dengan cemerlang! Kemampuan ular sanca untuk memanipulasi data menggunakan informasi yang bersumber tidak ada bandingannya. MySQL atau MariaDB berisi data yang dapat dimanipulasi oleh Python. Menggunakan dua faktor ini untuk meningkatkan dan melengkapi satu sama lain hanya meningkatkan sinergi keseluruhan di antara mereka.

Langkah 1. Memasang Modul Konektor

Mari kita mulai dengan memasang modul konektor. Langkah pertama dalam menghubungkan MySQL dengan Python adalah menginstal modul Pip Python. Jika Anda belum menginstal pip, petunjuk rinci untuk menginstal pip di bawah beberapa sistem operasi dapat ditemukan di Basis Pengetahuan Web Liquid. Setelah pip terinstal, kita perlu menginstal mysql-connector-python driver menggunakan perintah berikut.

root@host:~# pip install mysql-connector-python 
Collecting mysql-connector-python
  Downloading mysql_connector_python-8.0.21-cp27-cp27mu-manylinux1_x86_64.whl (16.0 MB)
     |################################| 16.0 MB 13.7 MB/s 
Collecting protobuf>=3.0.0
  Downloading protobuf-3.12.2-cp27-cp27mu-manylinux1_x86_64.whl (1.3 MB)
     |################################| 1.3 MB 17.0 MB/s 
Requirement already satisfied: setuptools in /usr/local/lib/python2.7/dist-packages (from protobuf>=3.0.0->mysql-connector-python) (44.1.1)
Collecting six>=1.9
  Downloading six-1.15.0-py2.py3-none-any.whl (10 kB)
Installing collected packages: six, protobuf, mysql-connector-python
Successfully installed mysql-connector-python-8.0.21 protobuf-3.12.2 six-1.15.0

Pada contoh di atas, pip memeriksa modul lain yang mungkin diperlukan oleh driver mysql-connector-python, yang kemudian akan diinstal jika perlu.

Langkah 2. Impor Konektor

Langkah selanjutnya adalah mengimpor mysql-connector-python modul menggunakan perintah ini dalam kode Anda.

import mysql.connector

Perintah ini memberitahu Python untuk memuat dan mengaktifkan semua fungsi dan objek yang terkait dan digunakan oleh modul konektor MySQL.

Langkah 3. Hubungkan MySQL ke Server

Langkah kita selanjutnya adalah memanggil mysql.connector.connect() metode untuk membuat koneksi ke server.

import mysql.connector

db = mysql.connector.connect(
	host='localhost',
	user=’username’,
	password=’password’
)

Biasanya, saat berkomunikasi dengan database MySQL, kami menggunakan MySQLcursor objek (yang merupakan bagian dari modul mysql-connector-python). Pikirkan objek ini sebagai jenis CLI (antarmuka baris perintah) tempat kita dapat mengetikkan kueri SQL yang digunakan untuk berinteraksi dengan server. Komunikasi ini dilakukan dengan menggunakan metode kursor (kursor =db.cursor() ), memanggil objek db yang kita buat pada langkah terakhir dengan metode connect:

import mysql.connector

db = mysql.connector.connect(
        host='localhost',
        user=’username’,
        password=’password’'
)

cursor = db.cursor()

Objek db.cursor memungkinkan kita untuk mengeksekusi kueri SQL. Kueri ini mengembalikan objek yang dapat kita ulangi dengan for loop seperti itu.

import mysql.connector

db = mysql.connector.connect(
        host='localhost',
        user=’username’,
        password=’password’'
)

cursor = db.cursor()

cursor.execute("show databases")

for x in cursor:
	print(x)

Ada database yang sudah ada sebelumnya yang diatur dalam tutorial KB sebelumnya tentang Tampilan SQL. Ini berisi informasi tentang seri mobil stok fiksi. Menggunakan skrip di atas, hasilnya akan terlihat seperti ini:

# python mysql-test.py 
(u'information_schema',)
(u'races',)
(u'sys',)

Kita dapat menggunakan perintah lain dengan kursor saat ini (db.cursor() ) untuk berinteraksi dengan database ini. Di sini, kami menarik daftar tabel dan tampilan dari database yang sama.

import mysql.connector

db = mysql.connector.connect(
        host='localhost',
        user=’username’,
        password='password'
)

cursor = db.cursor()


cursor.execute("use races")
cursor.execute("show tables")
for x in cursor:
        print(x)


The output results look like this.

# python mysql-test.py 
(u'all_finishes',)
(u'drivers',)
(u'finishes',)
(u'race_winners',)
(u'races',)
(u'standings_leader',)
(u'tracks',)
Catatan:"u" di depan hasil menunjukkan bahwa itu adalah string Unicode.

Memasukkan Data dengan Objek Kursor MySQL

Sekarang kita dapat mengambil struktur database, kita dapat menggunakan objek kursor untuk menjalankan perintah lain. Ada bagian di mana driver untuk musim balap dimasukkan ke dalam database. Itu dilakukan dengan menggunakan kueri SQL ini.

insert into drivers (name,car_number) values
  ('Buddy Baker',28),
  ('Dale Earnhardt Jr.',8),
  ('Ricky Rudd',88);

Untuk menjalankan kueri SQL yang sama ini menggunakan Python, kita cukup melewati string ini ke metode eksekusi kursor kita . Metode yang baik untuk berlatih menggunakan ini adalah dengan menetapkan variabel sebagai teks kueri dan kemudian memanggil eksekusi pada objek kursor. Anda juga harus menginstruksikan mysql untuk melakukan perubahan dengan memanggil db.commit() seperti itu.

db = mysql.connector.connect(
	host='localhost',
	user=’username’,
	password='password'
)

cursor = db.cursor()
cursor.execute("use races")


query = "insert into drivers (name,car_number) values ('Buddy Baker',28),('Dale Earnhardt Jr.',8),('Ricky Rudd',88);"

cursor.execute(query)

db.commit()

Hasilnya:

id nama

nomor mobil

1 Buddy Baker

28

2

Dale Earnhardt Jr.

8
3

Ricky Rudd

88

Saat kita menyisipkan beberapa baris, antarmuka menawarkan metode "eksekusi" , yang memungkinkan kita membuat larik nilai yang akan disisipkan dan string yang diformat khusus dengan simbol %s menggantikan nilai dari larik. Contoh ini identik dengan sisipan sebelumnya:

db = mysql.connector.connect(
	host='localhost',
	user=’username’,
	password='password'
)

cursor = db.cursor()
cursor.execute("use races")


query = "insert into drivers (name,car_number) values ('Buddy Baker',28),('Dale Earnhardt Jr.',8),('Ricky Rudd',88);"

cursor.execute(query)

db.commit()

Nilai dari array 'driver' dilewatkan satu per satu ke dalam pernyataan 'sql' dan kemudian diteruskan ke 'executemany() '

Menggunakan Pilih

Seperti pernyataan SQL lainnya, kita dapat menggunakan objek kursor untuk mengeksekusi pemilihan. Setelah memilih, kursor mendapatkan beberapa metode baru, termasuk fetchall() dan ambil() . Fetchall() mengembalikan daftar semua hasil. Setiap hasil adalah daftar dengan kolom yang sesuai dalam urutan pemilihannya. Metode fetchone() mengembalikan hasil berikutnya dari kumpulan hasil.

sql = "select name,car_number from drivers"

cursor.execute(sql)

results = cursor.fetchall()

for x in results:
        print(x)

Hasil:

(u'Buddy Baker', 28)
(u'Dale Earnhardt Jr.', 8)
(u'Ricky Rudd', 88)

Jika kita menginginkan satu hasil pada satu waktu, kita dapat menggunakan fetchone()

sql = "select name,car_number from drivers"

cursor.execute(sql)

results = cursor.fetchone()

print(results)

Hasil:

(u'Buddy Baker', 28)

Memperbarui dan Menghapus Data

Sama seperti perintah insert, perintah delete dan update menggunakan objek kursor dan harus memanggil db.commit(); jika tidak, mereka mirip dengan perintah SQL lainnya.

Perbarui :

sql = "update drivers set car_number = 1 where car_number = 88"
cursor.execute(sql)
db.commit()

sql = "select name,car_number from drivers"

cursor.execute(sql)

results = cursor.fetchall()
for x in results:
        print(x)

(u'Buddy Baker', 28)
(u'Dale Earnhardt Jr.', 8)
(u'Ricky Rudd', 1)

Hapus :

sql = "delete from drivers where car_number = 8"
cursor.execute(sql)
db.commit()

sql = "select name,car_number from drivers"

cursor.execute(sql)

results = cursor.fetchall()
for x in results:
        print(x)

(u'Buddy Baker', 28)
(u'Ricky Rudd', 1)

Kesimpulan

Jadi, apa hikmah dari artikel ini? Menggunakan Python untuk berinteraksi dengan MySQL adalah cara sederhana dan efektif untuk memanipulasi data dengan cara yang melengkapi setiap sistem.

Ada pertanyaan? Kami bangga menjadi Manusia Paling Bermanfaat di Hosting™! Staf dukungan teknis kami selalu tersedia untuk membantu masalah apa pun yang terkait dengan artikel ini, 24 jam sehari, 7 hari seminggu, 365 hari setahun.

Kami tersedia, melalui sistem tiket kami di [email protected], melalui telepon (di 800-580-4986), atau melalui LiveChat atau metode apa pun yang Anda inginkan. Kami bekerja keras untuk Anda sehingga Anda dapat bersantai.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Kode Kesalahan:1118 Ukuran baris terlalu besar (> 8126). Mengubah beberapa kolom menjadi TEXT atau BLOB

  2. Menghasilkan serangkaian tanggal

  3. Cara Melihat Variabel Status dan Sistem di MySQL Workbench menggunakan GUI

  4. JSON_OBJECTAGG() – Buat Objek JSON dari Hasil Kueri di MySQL

  5. Perbandingan Antara Plugin Klon MySQL dan Xtrabackup