Saya sudah menulis bahwa sejak beberapa bulan yang lalu saya bekerja dengan #Anaconda, versi Python ilmiah, karena versi ini menyertakan beberapa alat untuk bekerja dengan data. Namun, saya sedikit bingung karena tidak ada paket MySQL yang dapat digunakan Show Anakonda dan MySQL Jadi, jika Anda perlu terhubung dengan database MySQL, Anda perlu menginstal sebuah paket. Pada posting sebelumnya, saya sudah menjelaskan bagaimana Anda dapat menginstal MySQLdb, tetapi bahkan melakukan ini tidak berhasil Masalah dengan MySQL Jadi, saya membaca di posting forum ini bahwa disarankan untuk menggunakan PyMySQL sebagai koneksi MySQL, jadi saya mengunduhnya dan menginstalnya (dari kode sumber) Menginstal PyMySQL Mari kita coba itu berhasil Mencoba PyMySQL dengan Anaconda Kelas untuk bekerja dengan PyMySQLuntuk bekerja dengan PyMySQL, saya telah memodifikasi kelas yang dapat saya gunakan di beberapa proyek. Kode ini bukan main, tetapi Anda dapat memilikinya di sini, di GitHub # coding: utf-8 __author__ = 'dtrillo' import sys; import pymysql; #mysql library (you will need to install this on the system) #MySQL Singleton Class with pymysql class MySQLConnector(object): # _connection = None; _instance = None; def __init__(self, host="localhost", user="root", passwd="forever", database="", debug=False): # Versión 1.0.1 try: if MySQLConnector._instance == None: MySQLConnector._instance = self; self.dbhost = host self.dbuser = user self.dbpassword = passwd self.dbname = database MySQLConnector._instance.connect(debug); # Versión 1.0.1 except Exception, e: print "MySQL Error "+str(e); def instance(self): return MySQLConnector._instance; def get_connection(self): return MySQLConnector._connection; def connect(self, debug=False): try: MySQLConnector._connection = pymysql.connect(self.dbhost, self.dbuser, self.dbpassword, self.dbname); if debug: print "INFO: Database connection successfully established"; except Exception, e: print "ERROR: MySQL Connection Couldn't be created.. Fatal Error! "+str(e); sys.exit(); def disconnect(self): try: MySQLConnector._connection.close(); except: pass;#connection not open #returns escaped data for insertion into mysql #def esc(self, esc): # return MySQLdb.escape_string(str(esc)); #query with no result returned def query(self, sql): cur = MySQLConnector._connection.cursor(); return cur.execute(sql); def tryquery(self, sql): try: cur = MySQLConnector._connection.cursor(); return cur.execute(sql); except: return False; #inserts and returns the inserted row id (last row id in PHP version) def insert(self, sql): cur = MySQLConnector._connection.cursor(); cur.execute(sql); return self._connection.insert_id(); def tryinsert(self, sql): try: cur = MySQLConnector._connection.cursor(); cur.execute(sql); return self._connection.insert_id(); except: return -1; #returns the first item of data def queryrow(self, sql): cur = MySQLConnector._connection.cursor(); cur.execute(sql); return cur.fetchone(); #returns a list of data (array) def queryrows(self, sql): cur = MySQLConnector._connection.cursor(); cur.execute(sql); return cur.fetchmany(); Sumber kelas ini ada di sini, walaupun saya telah memperkenalkan beberapa modifikasi, alih-alih bekerja dengan file konfigurasi di dalam kelas Sekarang, sebuah naskahDan sekarang, mari kita coba skrip kecil untuk bekerja dengan kelas dan dengan PyMySQL Anakonda dan MySQL Kami membuat instance ke objek MySQLConnector dengan parameter yang diperlukan, kami memiliki koneksi dan … itu saja Catatan. Jangan beri nama file sebagai pymysql. py dan gunakan impor. Beri nama file yang berbeda. Anda mungkin mendapatkan kesalahan seperti ini AttributeError. modul yang diinisialisasi sebagian 'pymysql' tidak memiliki atribut 'connect' (kemungkinan besar karena impor melingkar) Apa itu Python? . Menurut indeks TIOBE, Python menempati peringkat 10 besar bahasa pemrograman terpopuler. Pada artikel ini, saya akan membagikan bagaimana kita dapat menggunakan Python untuk berinteraksi dengan database MySQL
CATATAN. Anaconda adalah distribusi python dan R yang bertujuan untuk menyediakan semua yang Anda butuhkan
conda install -c anaconda mysql-connector-python Hubungkan ke MySql
import mysql.connector 3. Jika berhasil, Anda harus mengembalikan objek dengan alamat memorinya <mysql.connector.connection_cext.CMySQLConnection object at 0x10b4e1320> Membuat Database
import mysql.connector _2. Selanjutnya, kami akan mencoba untuk terhubung ke database baru ini import mysql.connector Buat Tabel
import mysql.connector _Tambahkan catatan ke dalam tabel
import mysql.connector 2. Untuk menyisipkan beberapa data, kelompokkan data dalam tanda kurung siku, dipisahkan dengan koma. Ganti <mysql.connector.connection_cext.CMySQLConnection object at 0x10b4e1320> _7 dengan <mysql.connector.connection_cext.CMySQLConnection object at 0x10b4e1320> 8import mysql.connectormydb = mysql.connector.connect(_Pilih rekaman dari tabel
import mysql.connector 2. To select specific column, use SELECT 3. Alih-alih import mysql.connector _1 kita dapat menggunakan import mysql.connector 2 untuk mengambil baris pertama dari hasil4. Kami dapat menerapkan filter ke pencarian kami menggunakan kata kunci WHERE. CATATAN. Perhatikan bagaimana nilai kueri disimpan dalam variabel terpisah. Ini adalah teknik yang disebut kueri berparameter untuk mencegah injeksi SQL import mysql.connectormydb = mysql.connector.connect( 5. Kita juga dapat membatasi jumlah hasil pencarian dengan menambahkan import mysql.connector 3import mysql.connector 0Sortir Catatan
import mysql.connector 1Hapus catatanimport mysql.connector 2Lepaskan tabelimport mysql.connector 3Perbarui Catatanimport mysql.connector 4Bergabung dengan Tabel
import mysql.connector 53. Membuat tabel pesanan import mysql.connector 64. Selanjutnya kita ingin menggabungkan 2 tabel. Ada 2 jenis query JOIN yaitu INNER JOIN dan OUTER JOIN. Yang pertama hanya menunjukkan hasil di mana semua kriteria penggabungan terpenuhi artinya menunjukkan catatan dengan kolom umum CATATAN. JOIN kata kunci secara default berarti INNER JOIN, maka Anda dapat menggunakan JOIN atau INNER JOIN 5. Kami akan menampilkan daftar semua pelanggan dengan id pesanan masing-masing. Hubungan antara pelanggan dan pesanan mereka disimpan dalam tabel pesanan. Untuk melakukan ini, kami menunjukkan nama pelanggan dan id pesanan dari tabel gabungan pelanggan dan pesanan dengan kriteria id pelanggan yang cocok CATATAN. Anda dapat menambahkan alias ke setiap tabel dan mereferensikan nama kolom dari alias import mysql.connector 76. Di bawah ini adalah hasil dari penggunaan JOIN. Perhatikan tabel tidak menampilkan daftar lengkap pelanggan karena beberapa pelanggan tidak memiliki id pesanan import mysql.connector _87. Untuk mendemonstrasikan OUTER JOIN, kali ini kita akan menggabungkan pesanan ke tabel pelanggan tetapi kita akan PILIH DARI pelanggan, bukan pesanan import mysql.connector _98. Di bawah ini menunjukkan hasil menggunakan LEFT JOIN. Perhatikan sekarang kita memiliki "Sarah" tanpa id pesanan di hasilnya. Itulah fungsi dari LEFT JOIN, artinya menampilkan record lengkap dari tabel LEFT (pelanggan) terlepas dari apakah kriteria terpenuhi. RIGHT JOIN melakukan hal yang sama kecuali menunjukkan catatan lengkap dari tabel kanan <mysql.connector.connection_cext.CMySQLConnection object at 0x10b4e1320> 09. Sekarang, mari kembali ke INNER JOIN tetapi dengan banyak tabel. Karena kami ingin menampilkan tabel pesanan, yang berisi id pesanan, nama pelanggan, nama produk, dan harga produk, kueri SELECT kami harus DARI tabel pesanan. Selanjutnya kami ingin menggabungkan pesanan dengan produk (dengan menemukan id produk yang cocok) dan tabel pelanggan (dengan menemukan id pelanggan yang cocok) Bagaimana cara menginstal modul MySQL di Anaconda?Hubungkan ke MySql
. Aplikasi yang kami minati adalah Jupyter Notebook yang merupakan IDE python berbasis web. Instal dan luncurkan. Di notebook, buat file python baru. Launch Anaconda-Navigator to bring you a list of applications available to install. The application we are interested in is Jupyter Notebook which is a web-based python IDE. Install and launch it. In the notebook, create a new python file.
Bisakah saya menggunakan MySQL di notebook Jupyter?Dalam posting ini Anda akan mempelajari dua cara mudah untuk menggunakan Python dan SQL dari antarmuka notebook Jupyter dan membuat kueri SQL dengan beberapa baris kode. Kedua metode ini hampir agnostik database, jadi Anda dapat menggunakannya untuk database SQL pilihan Anda. MySQL, Postgres, Snowflake, MariaDB, Azure, dll.
Bagaimana cara menjalankan MySQL dengan Python?Prosedur untuk Mengikuti Python untuk Bekerja dengan MySQL . Hubungkan ke basis data Buat objek untuk database Anda Jalankan kueri SQL Ambil catatan dari hasil Menginformasikan Database jika Anda membuat perubahan pada tabel Apakah MySQL kompatibel dengan Python?Server MySQL akan menyediakan semua layanan yang diperlukan untuk menangani database Anda. Setelah server aktif dan berjalan, Anda dapat menghubungkan aplikasi Python Anda dengannya menggunakan MySQL Connector/Python . |