Langkah 1. buat koneksi menggunakan metode connect() dan berikan nama database File Menghubungkan ke database pada langkah 2 berarti meneruskan nama database yang akan diakses. Jika database sudah ada koneksi akan terbuka sama. Jika tidak, Python akan membuka file database baru dengan nama yang ditentukan Show
# menghubungkan ke database koneksi = sqlite3. terhubung (“Akademi. db”) MySQL adalah salah satu yang paling populer di pasaran saat ini. Itu peringkat kedua setelah Oracle DBMS di DB-Engines Ranking tahun ini. Karena sebagian besar aplikasi perangkat lunak perlu berinteraksi dengan data dalam beberapa bentuk, bahasa pemrograman seperti Python menyediakan alat untuk menyimpan dan mengakses sumber data ini Dengan menggunakan teknik yang dibahas dalam tutorial ini, Anda akan dapat mengintegrasikan database MySQL secara efisien dengan aplikasi Python. Anda akan mengembangkan database MySQL kecil untuk sistem rating film dan mempelajari cara menanyakannya langsung dari kode Python Anda Di akhir tutorial ini, Anda akan bisa
Untuk mendapatkan hasil maksimal dari tutorial ini, Anda harus memiliki pengetahuan tentang konsep Python seperti 0 loop, fungsi, penanganan pengecualian, dan menginstal paket Python menggunakan 1. Anda juga harus memiliki pemahaman dasar tentang sistem manajemen basis data relasional dan kueri SQL seperti 2, 3, 4, dan 5Download Gratis. Dapatkan contoh bab dari Trik Python. Buku yang menunjukkan kepada Anda praktik terbaik Python dengan contoh sederhana yang dapat Anda terapkan secara instan untuk menulis kode + Pythonic yang lebih indah Membandingkan MySQL dengan Database SQL LainnyaSQL adalah singkatan dari Structured Query Language dan merupakan bahasa pemrograman yang banyak digunakan untuk mengelola basis data relasional. Anda mungkin pernah mendengar tentang rasa yang berbeda dari DBMS berbasis SQL. Yang paling populer termasuk MySQL, PostgreSQL, SQLite, dan SQL Server. Semua database ini sesuai dengan standar SQL tetapi dengan berbagai tingkat kepatuhan Menjadi open source sejak didirikan pada tahun 1995, MySQL dengan cepat menjadi pemimpin pasar di antara solusi SQL. MySQL juga merupakan bagian dari ekosistem Oracle. Meskipun fungsionalitas intinya benar-benar gratis, ada beberapa add-on berbayar juga. Saat ini, MySQL digunakan oleh semua perusahaan teknologi besar, termasuk Google, LinkedIn, Uber, Netflix, Twitter, dan lainnya Terlepas dari dukungan komunitas open source yang besar, ada banyak alasan lain untuk kesuksesan MySQL
Meskipun MySQL terkenal dengan kecepatan dan kemudahan penggunaannya, Anda bisa mendapatkan fitur yang lebih canggih dengan PostgreSQL. Selain itu, MySQL tidak sepenuhnya sesuai dengan SQL dan memiliki batasan fungsional tertentu, seperti tidak ada dukungan untuk klausa 6Anda mungkin juga menghadapi beberapa masalah dengan membaca dan menulis secara bersamaan di MySQL. Jika perangkat lunak Anda memiliki banyak pengguna yang menulis data sekaligus, maka PostgreSQL mungkin merupakan pilihan yang lebih cocok Catatan. Untuk perbandingan MySQL dan PostgreSQL yang lebih mendalam dalam konteks dunia nyata, lihat Mengapa Teknik Uber Beralih dari Postgres ke MySQL SQL Server juga merupakan DBMS yang sangat populer dan terkenal dengan keandalan, efisiensi, dan keamanannya. Ini disukai oleh perusahaan, terutama di domain perbankan, yang secara teratur berurusan dengan beban kerja lalu lintas yang besar. Ini adalah solusi komersial dan merupakan salah satu sistem yang paling kompatibel dengan layanan Windows Pada tahun 2010, ketika Oracle mengakuisisi Sun Microsystems dan MySQL, banyak yang mengkhawatirkan masa depan MySQL. Pada saat itu, Oracle adalah pesaing terbesar MySQL. Pengembang khawatir ini adalah pengambilalihan yang tidak bersahabat dari Oracle dengan tujuan menghancurkan MySQL Beberapa pengembang yang dipimpin oleh Michael Widenius, penulis asli MySQL, membuat cabang dari basis kode MySQL dan meletakkan dasar MariaDB. Tujuannya adalah untuk mengamankan akses ke MySQL dan menjaganya tetap gratis selamanya Sampai saat ini, MariaDB tetap memiliki lisensi GPL sepenuhnya, menjaganya sepenuhnya dalam domain publik. Beberapa fitur MySQL, di sisi lain, hanya tersedia dengan lisensi berbayar. Selain itu, MariaDB menyediakan beberapa fitur yang sangat berguna yang tidak didukung oleh server MySQL, seperti SQL terdistribusi dan penyimpanan kolom. Anda dapat menemukan lebih banyak perbedaan antara MySQL dan MariaDB yang terdaftar di situs web MariaDB MySQL menggunakan sintaks yang sangat mirip dengan SQL Standar. Namun, ada beberapa perbedaan penting yang disebutkan dalam dokumentasi resmi Hilangkan iklanMenginstal Server MySQL dan Konektor MySQL/PythonSekarang, untuk mulai mengerjakan tutorial ini, Anda perlu menyiapkan dua hal. server MySQL dan konektor MySQL. 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 Menginstal Server MySQLDokumentasi resmi merinci cara yang disarankan untuk mengunduh dan menginstal server MySQL. Anda akan menemukan petunjuk untuk semua sistem operasi populer, termasuk Windows, macOS, Solaris, Linux, dan banyak lagi Untuk Windows, cara terbaik adalah mengunduh Penginstal MySQL dan membiarkannya menangani seluruh proses. Manajer instalasi juga membantu Anda mengonfigurasi pengaturan keamanan server MySQL. Pada halaman Akun dan Peran, Anda perlu memasukkan kata sandi untuk akun root (admin) dan juga secara opsional menambahkan pengguna lain dengan berbagai hak istimewa Pengaturan Akun Pemasang MySQLMeskipun Anda harus menentukan kredensial untuk akun root selama penyiapan, Anda dapat mengubah setelan ini nanti Catatan. Ingat nama host, nama pengguna, dan kata sandi karena ini akan diperlukan untuk membuat koneksi dengan server MySQL nanti Meskipun Anda hanya memerlukan server MySQL untuk tutorial ini, Anda juga dapat menyiapkan alat bermanfaat lainnya seperti MySQL Workbench menggunakan penginstal ini. Jika Anda tidak ingin menginstal MySQL langsung di sistem operasi Anda, menggunakan MySQL di Linux dengan Docker adalah alternatif yang nyaman Memasang Konektor MySQL/PythonDriver basis data adalah perangkat lunak yang memungkinkan aplikasi untuk terhubung dan berinteraksi dengan sistem basis data. Bahasa pemrograman seperti Python memerlukan driver khusus sebelum mereka dapat berbicara ke database dari vendor tertentu Driver ini biasanya diperoleh sebagai modul pihak ketiga. Python Database API (DB-API) mendefinisikan antarmuka standar yang harus dipatuhi oleh semua driver database Python. Rincian ini didokumentasikan dalam PEP 249. Semua driver database Python, seperti sqlite3 untuk SQLite, psycopg untuk PostgreSQL, dan MySQL Connector/Python untuk MySQL, ikuti aturan implementasi ini Catatan. Dokumentasi resmi MySQL menggunakan istilah konektor alih-alih driver. Secara teknis, konektor dikaitkan hanya dengan menghubungkan ke database, bukan berinteraksi dengannya. Namun, istilah ini sering digunakan untuk seluruh modul akses database yang terdiri dari konektor dan driver Untuk menjaga konsistensi dengan dokumentasi, Anda akan melihat istilah konektor setiap kali MySQL disebutkan Banyak bahasa pemrograman populer memiliki database API sendiri. Misalnya, Java memiliki Java Database Connectivity (JDBC) API. Jika Anda perlu menghubungkan aplikasi Java ke database MySQL, maka Anda perlu menggunakan konektor MySQL JDBC, yang mengikuti JDBC API Demikian pula, di Python Anda perlu menginstal konektor Python MySQL untuk berinteraksi dengan database MySQL. Banyak paket mengikuti standar DB-API, tetapi yang paling populer di antaranya adalah MySQL Connector/Python. Anda bisa mendapatkannya dengan 1 _ 1 menginstal konektor sebagai modul pihak ketiga di lingkungan virtual yang sedang aktif. Anda disarankan untuk menyiapkan lingkungan virtual yang terisolasi untuk proyek beserta semua dependensinyaUntuk menguji apakah instalasi berhasil, ketikkan perintah berikut di terminal Python Anda >>> _Jika kode di atas dijalankan tanpa kesalahan, maka 9 sudah terpasang dan siap digunakan. Jika Anda menemukan kesalahan, pastikan Anda berada di lingkungan virtual yang benar dan Anda menggunakan juru bahasa Python yang tepatPastikan Anda menginstal paket 0 yang benar, yang merupakan implementasi murni-Python. Waspadalah terhadap konektor dengan nama yang sama tetapi sekarang disusutkan seperti 1Hilangkan iklanMembuat Koneksi Dengan Server MySQLMySQL adalah sistem manajemen basis data berbasis server. Satu server mungkin berisi beberapa database. Untuk berinteraksi dengan database, Anda harus terlebih dahulu membuat koneksi dengan server. Alur kerja umum program Python yang berinteraksi dengan database berbasis MySQL adalah sebagai berikut
Ini adalah alur kerja umum yang mungkin berbeda tergantung pada aplikasi individual. Tapi apa pun aplikasinya, langkah pertama adalah menghubungkan database Anda dengan aplikasi Anda Membangun KoneksiLangkah pertama dalam berinteraksi dengan server MySQL adalah membuat koneksi. Untuk melakukan ini, Anda memerlukan _2 dari modul 9. Fungsi ini mengambil parameter seperti _4, 5, dan 6 dan mengembalikan objek 7. Anda dapat menerima kredensial ini sebagai masukan dari pengguna dan meneruskannya ke 2
Kode di atas menggunakan kredensial login yang dimasukkan untuk membuat koneksi dengan server MySQL Anda. Sebagai imbalannya, Anda mendapatkan objek _7, yang disimpan dalam variabel 0. Mulai sekarang, Anda akan menggunakan variabel ini untuk mengakses server MySQL AndaAda beberapa hal penting yang perlu diperhatikan pada kode di atas
Anda sekarang telah membuat koneksi antara program Anda dan server MySQL Anda, tetapi Anda masih perlu membuat database baru atau menyambung ke database yang ada di dalam server Membuat Basis Data BaruDi bagian terakhir, Anda membuat koneksi dengan server MySQL Anda. Untuk membuat database baru, Anda perlu menjalankan pernyataan SQL
Pernyataan di atas akan membuat database baru dengan nama 5Catatan. Di MySQL, wajib untuk meletakkan titik koma ( 6) di akhir pernyataan, yang menunjukkan penghentian kueri. Namun, Konektor MySQL/Python secara otomatis menambahkan titik koma di akhir kueri Anda, jadi tidak perlu menggunakannya dalam kode Python AndaUntuk mengeksekusi kueri SQL dengan Python, Anda harus menggunakan kursor, yang memisahkan akses ke catatan basis data. Konektor MySQL/Python memberi Anda kelas 7, yang memberi contoh objek yang dapat mengeksekusi kueri MySQL dengan Python. Contoh kelas _7 juga disebut 9 _9 objek menggunakan objek 7 untuk berinteraksi dengan server MySQL Anda. Untuk membuat _9, gunakan metode 3 dari variabel 0 Anda
Kode di atas memberi Anda turunan dari kelas ________23______7 Kueri yang perlu dieksekusi dikirim ke 6 dalam format string. Dalam kesempatan khusus ini, Anda akan mengirimkan kueri 7 ke 6
Setelah mengeksekusi kode di atas, Anda akan memiliki database baru bernama 9 di server MySQL AndaKueri _7 disimpan sebagai string dalam variabel 1 dan kemudian diteruskan ke 6 untuk dieksekusi. Kode menggunakan pengelola konteks dengan objek 9 untuk menangani proses pembersihanAnda mungkin menerima kesalahan di sini jika database dengan nama yang sama sudah ada di server Anda. Untuk mengonfirmasi ini, Anda dapat menampilkan nama semua database di server Anda. Menggunakan objek _7 yang sama dari sebelumnya, jalankan pernyataan 5>>> _Kode di atas mencetak nama semua database yang saat ini ada di server MySQL Anda. Perintah _5 juga menampilkan beberapa database yang tidak Anda buat di server Anda, seperti 7, 8, dan seterusnya. Database ini dihasilkan secara otomatis oleh server MySQL dan menyediakan akses ke berbagai metadata database dan pengaturan server MySQLAnda membuat database baru di bagian ini dengan menjalankan pernyataan 7. Di bagian selanjutnya, Anda akan melihat cara menghubungkan ke database yang sudah adaHilangkan iklanMenghubungkan ke Database yang AdaDi bagian terakhir, Anda membuat database baru bernama 9. Namun, Anda masih belum terhubung dengannya. Dalam banyak situasi, Anda sudah memiliki database MySQL yang ingin Anda sambungkan dengan aplikasi Python AndaAnda dapat melakukannya menggunakan fungsi _2 yang sama dengan yang Anda gunakan sebelumnya dengan mengirimkan parameter tambahan bernama 2
Kode di atas sangat mirip dengan skrip koneksi yang Anda gunakan sebelumnya. Satu-satunya perubahan di sini adalah parameter _2 tambahan, di mana nama database Anda diteruskan ke 2. Setelah Anda menjalankan skrip ini, Anda akan terhubung ke database 9Membuat, Mengubah, dan Menjatuhkan TabelDi bagian ini, Anda akan mempelajari cara melakukan beberapa kueri DDL dasar seperti 4, 3, dan 8 dengan Python. Anda akan melihat sekilas database MySQL yang akan Anda gunakan di sisa tutorial ini. Anda juga akan membuat semua tabel yang diperlukan untuk database dan mempelajari cara melakukan modifikasi pada tabel ini nantiMendefinisikan Skema DatabaseAnda bisa mulai dengan membuat skema database untuk sistem rating film online. Database akan terdiri dari tiga tabel
Sistem peringkat film dunia nyata, seperti IMDb, perlu menyimpan banyak atribut lain, seperti email, daftar pemeran film, dan sebagainya. Jika mau, Anda bisa menambahkan lebih banyak tabel dan atribut ke database ini. Tapi ketiga tabel ini sudah cukup untuk tujuan tutorial ini Gambar di bawah menggambarkan skema database Diagram Skema Sistem Rating Film OnlineTabel-tabel dalam database ini saling terkait satu sama lain. 9 dan 05 akan memiliki hubungan banyak-ke-banyak karena satu film dapat ditinjau oleh beberapa pengulas dan satu pengulas dapat meninjau beberapa film. Tabel _09 menghubungkan tabel 9 dengan tabel 05Membuat Tabel Menggunakan Pernyataan >>> import mysql.connector _18Sekarang, untuk membuat tabel baru di MySQL, Anda perlu menggunakan pernyataan 18. Kueri MySQL berikut akan membuat tabel 9 untuk database 9 Anda
Jika Anda telah melihat pernyataan SQL sebelumnya, sebagian besar kueri di atas mungkin masuk akal. Namun ada beberapa perbedaan sintaks MySQL yang harus Anda ketahui Misalnya, MySQL memiliki berbagai jenis data untuk Anda teliti, termasuk 22, 23, 24, dan seterusnya. Selain itu, MySQL menggunakan kata kunci _25 ketika nilai kolom harus ditambahkan secara otomatis saat penyisipan catatan baruUntuk membuat tabel baru, Anda harus meneruskan kueri ini ke 6, yang menerima kueri MySQL dan mengeksekusi kueri pada database MySQL yang terhubung
Sekarang Anda memiliki tabel _9 di database Anda. Anda meneruskan _28 ke 6, yang melakukan eksekusi yang diperlukanCatatan. Variabel _0 mengacu pada objek 7 yang dikembalikan saat Anda terhubung ke database AndaPerhatikan juga pernyataan _32 di akhir kode. Secara default, konektor MySQL Anda tidak melakukan autocommit. Di MySQL, modifikasi yang disebutkan dalam transaksi hanya terjadi ketika Anda menggunakan perintah ________10______33 pada akhirnya. Selalu panggil metode ini setelah setiap transaksi untuk melakukan perubahan pada tabel sebenarnyaSeperti yang Anda lakukan dengan tabel _9, jalankan skrip berikut untuk membuat tabel 05 _0Jika diperlukan, Anda dapat menambahkan lebih banyak informasi tentang pengulas, seperti ID email atau informasi demografis mereka. Tapi _07 dan 08 akan melayani tujuan Anda untuk saat iniTerakhir, Anda dapat membuat tabel _09 menggunakan skrip berikut _1Penerapan hubungan kunci asing di MySQL sedikit berbeda dan terbatas dibandingkan dengan SQL standar. Di MySQL, induk dan anak dalam batasan kunci asing harus menggunakan mesin penyimpanan yang sama Mesin penyimpanan adalah komponen perangkat lunak dasar yang digunakan sistem manajemen basis data untuk melakukan operasi SQL. Di MySQL, mesin penyimpanan hadir dalam dua rasa berbeda
InnoDB adalah mesin penyimpanan default dan paling populer. Ini membantu menjaga integritas data dengan mendukung batasan kunci asing. Ini berarti bahwa setiap operasi CRUD pada kunci asing diperiksa untuk memastikan bahwa itu tidak menyebabkan ketidakkonsistenan pada tabel yang berbeda. Juga, perhatikan bahwa tabel _09 menggunakan kolom 10 dan 11, keduanya kunci asing, bersama-sama sebagai kunci utama. Langkah ini memastikan bahwa pengulas tidak dapat menilai film yang sama dua kaliAnda dapat memilih untuk menggunakan kembali kursor yang sama untuk beberapa eksekusi. Dalam hal ini, semua eksekusi akan menjadi satu transaksi atom daripada beberapa transaksi terpisah. Misalnya, Anda dapat menjalankan semua pernyataan _18 dengan satu kursor dan kemudian melakukan transaksi Anda hanya sekali _2Kode di atas pertama-tama akan mengeksekusi ketiga pernyataan 4. Kemudian itu akan mengirimkan perintah _33 ke server MySQL yang melakukan transaksi Anda. Anda juga dapat menggunakan _46 untuk mengirim perintah 47 ke server MySQL dan menghapus semua perubahan data dari transaksiHilangkan iklanMenampilkan Skema Tabel Menggunakan Pernyataan >>> import mysql.connector 48Sekarang, setelah Anda membuat ketiga tabel tersebut, Anda dapat melihat skemanya menggunakan pernyataan SQL berikut _3Untuk mendapatkan beberapa hasil kembali dari objek _9, Anda perlu menggunakan 50. Metode ini mengambil semua baris dari pernyataan terakhir yang dieksekusi. Dengan asumsi Anda sudah memiliki objek _7 dalam variabel 0, Anda dapat mencetak semua hasil yang diambil oleh 50>>> 4Setelah Anda menjalankan kode di atas, Anda akan menerima tabel yang berisi informasi tentang semua kolom di tabel 9. Untuk setiap kolom, Anda akan menerima detail seperti tipe data kolom, apakah kolom tersebut adalah kunci utama, dan seterusnyaMemodifikasi Skema Tabel Menggunakan create_movies_table_query = """ CREATE TABLE movies( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(100), release_year YEAR(4), genre VARCHAR(100), collection_in_mil INT ) """ with connection.cursor() as cursor: cursor.execute(create_movies_table_query) connection.commit() 8 PernyataanDi tabel _9, Anda memiliki kolom bernama 04, yang berisi koleksi film box office dalam jutaan dolar. Anda dapat menulis pernyataan MySQL berikut untuk mengubah tipe data atribut 04 dari 23 menjadi 60 _5 _61 berarti angka desimal yang dapat memiliki maksimal 62 digit, dimana 63 adalah desimal, seperti 64, 65, 66, dan seterusnya. Setelah menjalankan pernyataan _67, Anda dapat menampilkan skema tabel yang diperbarui menggunakan 48>>> 6Seperti yang ditunjukkan pada output, atribut 04 sekarang bertipe 61. Perhatikan juga bahwa dalam kode di atas, Anda memanggil 6 dua kali. Tapi _50 mengambil baris hanya dari kueri yang dieksekusi terakhir, yaitu 73Menghapus Tabel Menggunakan Pernyataan cursor = connection.cursor() 3Untuk menghapus tabel, Anda perlu menjalankan pernyataan 75 di MySQL. Menghapus tabel adalah proses yang tidak dapat diubah. Jika Anda menjalankan kode di bawah ini, maka Anda harus memanggil kueri 18 lagi untuk menggunakan tabel 09 di bagian yang akan datangUntuk menghapus tabel _09, kirim 79 ke 6 _7Jika Anda menjalankan kode di atas, Anda akan berhasil menghapus tabel 09Memasukkan Record ke dalam TabelDi bagian terakhir, Anda membuat tiga tabel di database Anda. 9, 05, dan 09. Sekarang Anda perlu mengisi tabel ini dengan data. Bagian ini akan membahas dua cara berbeda untuk menyisipkan catatan di Konektor MySQL untuk PythonMetode pertama, _85, bekerja dengan baik ketika jumlah record sedikit dan record dapat di-hard-coded. Metode kedua, _86, lebih populer dan lebih cocok untuk skenario dunia nyataHilangkan iklanMenggunakan >>> import mysql.connector _85Pendekatan pertama menggunakan metode _6 yang sama yang telah Anda gunakan sampai sekarang. Anda menulis kueri _89 dalam sebuah string dan meneruskannya ke 6. Anda dapat menggunakan metode ini untuk memasukkan data ke dalam tabel 9Sebagai referensi, tabel _9 memiliki lima atribut
Anda tidak perlu menambahkan data untuk _00 karena 25 otomatis menghitung 00 untuk Anda. Skrip berikut menyisipkan rekaman ke dalam tabel ________59______9 _8Tabel _9 sekarang dimuat dengan tiga puluh record. Kode memanggil _32 di bagian akhir. Sangat penting untuk memanggil _04 setelah melakukan modifikasi apa pun pada tabelMenggunakan >>> import mysql.connector _86Pendekatan sebelumnya lebih cocok bila jumlah record cukup kecil dan Anda dapat menulis record ini langsung ke dalam kode. Tapi ini jarang benar. Anda akan sering menyimpan data ini di beberapa file lain, atau data akan dihasilkan oleh skrip yang berbeda dan perlu ditambahkan ke database MySQL Di sinilah _86 berguna. Ia menerima dua parameter
Contoh berikut menyisipkan rekaman untuk tabel _05 _9Dalam skrip di atas, Anda meneruskan kueri dan daftar rekaman sebagai argumen ke 86. Rekaman ini dapat diambil dari file atau dari pengguna dan disimpan dalam daftar 09Kode menggunakan 10 sebagai pengganti untuk dua string yang harus dimasukkan ke dalam 11. Placeholder bertindak sebagai penentu format dan membantu mencadangkan tempat untuk variabel di dalam string. Variabel yang ditentukan kemudian ditambahkan ke tempat ini selama eksekusiAnda juga dapat menggunakan _86 untuk menyisipkan catatan di tabel 09 0Ketiga tabel sekarang diisi dengan data. Anda sekarang memiliki database peringkat film online yang berfungsi penuh. Langkah selanjutnya adalah memahami bagaimana berinteraksi dengan database ini Membaca Catatan Dari DatabaseSampai sekarang, Anda telah membangun database Anda. Sekarang saatnya untuk melakukan beberapa kueri dan menemukan beberapa properti menarik dari kumpulan data ini. Di bagian ini, Anda akan mempelajari cara membaca record dari tabel database menggunakan pernyataan 2Hilangkan iklanMembaca Catatan Menggunakan Pernyataan cursor = connection.cursor() 2Untuk mengambil rekaman, Anda perlu mengirim kueri 2 ke 6. Kemudian Anda menggunakan _50 untuk mengekstrak tabel yang diambil dalam bentuk daftar baris atau catatanCoba tulis kueri MySQL untuk memilih semua rekaman dari tabel 9 dan kirimkan ke 85>>> 1Variabel _21 menampung catatan yang dikembalikan dari penggunaan 22. Ini adalah daftar tupel yang mewakili catatan individual dari tabelDalam kueri di atas, Anda menggunakan klausa _23 untuk membatasi jumlah baris yang diterima dari pernyataan 2. Pengembang sering menggunakan 23 untuk bekerja saat menangani volume data yang besarDi MySQL, klausa _23 membutuhkan satu atau dua argumen numerik nonnegatif. Saat menggunakan satu argumen, Anda menentukan jumlah baris maksimum yang akan dikembalikan. Karena kueri Anda menyertakan _27, hanya catatan ________21______28 pertama yang diambil. Saat menggunakan kedua argumen, Anda juga dapat menentukan offset baris pertama yang akan ditampilkan 2Argumen pertama menentukan offset 29, dan argumen kedua membatasi jumlah baris yang dikembalikan ke 28. Kueri di atas akan mengembalikan baris 3 hingga 7Anda juga dapat meminta kolom yang dipilih >>> ________21______3 Sekarang, kode hanya menampilkan nilai dari dua kolom yang ditentukan. _01 dan 02Memfilter Hasil Menggunakan from getpass import getpass from mysql.connector import connect, Error try: with connect( host="localhost", user=input("Enter username: "), password=getpass("Enter password: "), ) as connection: print(connection) except Error as e: print(e) _33 KlausulAnda dapat memfilter rekaman tabel menurut kriteria tertentu menggunakan klausa 33. Misalnya, untuk mengambil semua film dengan koleksi box office lebih dari $300 juta, Anda dapat menjalankan kueri berikut 4Anda juga dapat menggunakan klausa _35 di kueri terakhir untuk mengurutkan hasil dari penerima tertinggi hingga terendah>>> 5MySQL menawarkan banyak operasi pemformatan string seperti 36 untuk menggabungkan string. Seringkali, situs web akan menampilkan judul film beserta tahun rilisnya untuk menghindari kebingungan. Untuk mengambil judul dari lima film terlaris, digabungkan dengan tahun rilisnya, Anda dapat menulis kueri berikut>>> 6Jika Anda tidak ingin menggunakan klausa 23 dan Anda tidak perlu mengambil semua rekaman, maka objek 9 memiliki metode 39 dan 40 juga
Coba ambil lagi judul dari lima film berpenghasilan tertinggi yang digabungkan dengan tahun perilisannya, tetapi kali ini gunakan 40>>> ________21______7 Output dengan _40 mirip dengan apa yang Anda terima ketika Anda menggunakan klausa 23. Anda mungkin telah memperhatikan panggilan _50 tambahan di bagian akhir. Anda melakukan ini untuk membersihkan semua sisa hasil yang tidak terbaca oleh 40Penting untuk membersihkan semua hasil yang belum dibaca sebelum menjalankan pernyataan lain pada koneksi yang sama. Jika tidak, pengecualian _51 akan dimunculkanHilangkan iklanMenangani Banyak Tabel Menggunakan Pernyataan cursor = connection.cursor() 5Jika Anda menemukan kueri di bagian terakhir cukup mudah, jangan khawatir. Anda dapat membuat kueri _2 Anda serumit yang Anda inginkan menggunakan metode yang sama dari bagian terakhirMari kita lihat beberapa kueri 5 yang sedikit lebih rumit. Jika Anda ingin mengetahui nama dari lima film dengan rating tertinggi di database Anda, maka Anda dapat menjalankan kueri berikut>>> ________21______8 Seperti yang ditunjukkan di atas, Night of the Living Dead dan The Godfather diikat sebagai film dengan rating tertinggi di database 9 AndaUntuk mengetahui nama pengulas yang memberi peringkat terbanyak, tulis kueri berikut >>> 9 56 adalah reviewer paling sering dalam database ini. Seperti yang terlihat di atas, tidak masalah seberapa rumit kueri karena pada akhirnya ditangani oleh server MySQL. Proses Anda untuk mengeksekusi kueri akan selalu tetap sama. teruskan kueri ke 6 dan ambil hasilnya menggunakan 22Memperbarui dan Menghapus Catatan Dari DatabaseDi bagian ini, Anda akan memperbarui dan menghapus record dari database. Kedua operasi ini dapat dilakukan pada satu record atau beberapa record dalam tabel. Anda akan memilih baris yang perlu dimodifikasi menggunakan klausa ________21______33 from getpass import getpass from mysql.connector import connect, Error try: with connect( host="localhost", user=input("Enter username: "), password=getpass("Enter password: "), ) as connection: print(connection) except Error as e: print(e) 60 PerintahSalah satu peninjau di basis data Anda, ________21______61, sekarang menikah dengan 62. Nama belakangnya sekarang telah berubah menjadi 63, jadi Anda perlu memperbarui database Anda sesuai dengan itu. Untuk memperbarui record, MySQL menggunakan pernyataan ________21______60 0Kode meneruskan kueri pembaruan ke 6, dan 04 membawa perubahan yang diperlukan ke tabel 05Catatan. Dalam kueri _60, klausa 33 membantu menentukan rekaman yang perlu diperbarui. Jika Anda tidak menggunakan _33, maka semua rekaman akan diperbaruiMisalkan Anda perlu memberikan opsi yang memungkinkan pengulas mengubah peringkat. Peninjau akan memberikan tiga nilai, 10, 11, dan 12 baru. Kode akan menampilkan catatan setelah melakukan modifikasi yang ditentukanDengan asumsi bahwa _74, 75, dan 76 baru, Anda dapat menggunakan kueri MySQL berikut untuk melakukan modifikasi yang diperlukan 1Kueri di atas pertama-tama memperbarui peringkat dan kemudian menampilkannya. Anda dapat membuat skrip Python lengkap yang membuat koneksi dengan database dan memungkinkan pengulas mengubah peringkat 2Simpan kode ini ke file bernama ________21______77. Kode di atas menggunakan _10 placeholder untuk memasukkan input yang diterima dalam string 79. Untuk pertama kalinya dalam tutorial ini, Anda memiliki banyak kueri di dalam satu string. Untuk meneruskan beberapa kueri ke satu _6, Anda perlu menyetel argumen metode 81 ke 82Jika _81 adalah 82, maka 6 mengembalikan sebuah iterator. Setiap item dalam iterator sesuai dengan objek 9 yang mengeksekusi pernyataan yang diteruskan dalam kueri. Kode di atas menjalankan 0 loop pada iterator ini dan kemudian memanggil 22 pada setiap objek 9Catatan. Menjalankan _22 pada semua objek kursor adalah penting. Untuk mengeksekusi pernyataan baru pada koneksi yang sama, Anda harus memastikan tidak ada hasil yang belum dibaca dari eksekusi sebelumnya. Jika ada hasil yang belum dibaca, Anda akan menerima pengecualianJika tidak ada set hasil yang diambil pada suatu operasi, maka 22 memunculkan pengecualian. Untuk menghindari kesalahan ini, pada kode di atas Anda menggunakan properti 92, yang menunjukkan apakah operasi yang terakhir dijalankan menghasilkan barisMeskipun kode ini harus menyelesaikan tujuan Anda, klausa 33 adalah target utama peretas web dalam kondisi saat ini. Itu rentan terhadap apa yang disebut serangan injeksi SQL, yang dapat memungkinkan aktor jahat merusak atau menyalahgunakan database AndaPeringatan. Jangan coba input di bawah ini di database Anda. Mereka akan merusak meja Anda dan Anda harus membuatnya kembali Misalnya, jika pengguna mengirim 94, 95, dan 96 baru sebagai input, maka outputnya akan terlihat seperti ini 3 _12 dengan 94 dan 95 telah diubah menjadi 00. Tetapi jika Anda adalah peretas, Anda mungkin mengirim perintah tersembunyi di input Anda 4Sekali lagi, output menunjukkan bahwa _12 yang ditentukan telah diubah menjadi 00. Apa yang berubah?Peretas menyelinap dalam kueri pembaruan saat memasukkan 11. Kueri pembaruan, 04, mengubah 08 dari semua catatan dalam tabel 05 menjadi 07. Anda dapat melihat perubahan ini jika Anda mencetak tabel 05>>> 5Kode di atas menampilkan _07 dan 08 untuk semua catatan dalam tabel 05. Serangan injeksi SQL merusak tabel ini dengan mengubah 08 dari semua catatan menjadi 07Ada perbaikan cepat untuk mencegah serangan semacam itu. Jangan tambahkan nilai kueri yang diberikan oleh pengguna secara langsung ke string kueri Anda. Sebagai gantinya, perbarui skrip _77 untuk mengirim nilai kueri ini sebagai argumen ke 85 6Perhatikan bahwa placeholder 10 tidak lagi dalam tanda kutip string. String yang diteruskan ke placeholder mungkin berisi beberapa karakter khusus. Jika perlu, ini dapat diloloskan dengan benar oleh pustaka yang mendasarinya _6 memastikan bahwa nilai dalam tuple yang diterima sebagai argumen adalah dari tipe data yang diperlukan. Jika pengguna mencoba menyelinap di beberapa karakter bermasalah, maka kode tersebut akan memunculkan pengecualian 7 6 akan memunculkan pengecualian jika menemukan karakter yang tidak diinginkan dalam input pengguna. Anda harus menggunakan pendekatan ini setiap kali memasukkan masukan pengguna ke dalam kueri. Ada cara lain untuk mencegah serangan injeksi SQL jugaHilangkan iklanCREATE DATABASE books_db; 19 PerintahMenghapus catatan bekerja sangat mirip dengan memperbarui catatan. Anda menggunakan pernyataan _19 untuk menghapus rekaman yang dipilihCatatan. Menghapus adalah proses yang tidak dapat diubah. Jika Anda tidak menggunakan klausa ________21______33, maka semua catatan dari tabel yang ditentukan akan dihapus. Anda harus menjalankan kueri _89 lagi untuk mendapatkan kembali catatan yang dihapusSebaiknya Anda menjalankan kueri 2 terlebih dahulu dengan filter yang sama untuk memastikan bahwa Anda menghapus rekaman yang benar. Misalnya, untuk menghapus semua peringkat yang diberikan oleh 24, Anda harus terlebih dahulu menjalankan kueri 2 yang sesuai>>> ________28______8 Cuplikan kode di atas menampilkan 11 dan 10 untuk catatan dalam tabel 09 di mana 24. Setelah Anda mengonfirmasi bahwa ini adalah rekaman yang perlu Anda hapus, Anda dapat menjalankan kueri ________28______19 dengan filter yang sama _9Dengan kueri ini, Anda menghapus semua peringkat yang diberikan oleh pengulas dengan 24 dari tabel 09Cara Lain untuk Menghubungkan Python dan MySQLDalam tutorial ini, Anda melihat MySQL Connector/Python, yang merupakan sarana yang direkomendasikan secara resmi untuk berinteraksi dengan database MySQL dari aplikasi Python. Ada dua konektor populer lainnya
Konektor ini bertindak sebagai antarmuka antara program Anda dan database MySQL, dan Anda mengirimkan kueri SQL melaluinya. Tetapi banyak pengembang lebih suka menggunakan paradigma berorientasi objek daripada kueri SQL untuk memanipulasi data Pemetaan objek-relasional (ORM) adalah teknik yang memungkinkan Anda untuk meminta dan memanipulasi data dari database secara langsung menggunakan bahasa berorientasi objek. Pustaka ORM merangkum kode yang diperlukan untuk memanipulasi data, yang menghilangkan kebutuhan untuk menggunakan sedikit SQL. Berikut adalah ORM Python paling populer untuk database berbasis SQL
Anda mungkin menemukan salah satu dari pendekatan ini lebih cocok untuk aplikasi Anda. Jika Anda tidak yakin mana yang akan digunakan, sebaiknya gunakan MySQL Connector/Python yang direkomendasikan secara resmi yang Anda lihat beraksi di tutorial ini KesimpulanDalam tutorial ini, Anda melihat cara menggunakan MySQL Connector/Python untuk mengintegrasikan database MySQL dengan aplikasi Python Anda. Anda juga melihat beberapa fitur unik dari database MySQL yang membedakannya dari database SQL lainnya Sepanjang jalan, Anda mempelajari beberapa praktik terbaik pemrograman yang layak dipertimbangkan saat membangun koneksi, membuat tabel, dan menyisipkan serta memperbarui catatan dalam aplikasi database. Anda juga mengembangkan contoh database MySQL untuk sistem rating film online dan berinteraksi langsung dengannya dari aplikasi Python Anda Dalam tutorial ini, Anda belajar caranya
Jika Anda tertarik, Python juga memiliki konektor untuk DBMS lain seperti MongoDB dan PostgreSQL. Untuk informasi lebih lanjut, lihat Tutorial Database Python Tandai sebagai Selesai 🐍 Trik Python 💌 Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python Kirimi Saya Trik Python » Tentang Chaitanya Baweja Chaitanya adalah seorang Pythonista yang rajin dan menulis untuk Real Python » Lebih lanjut tentang ChaitanyaSetiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah Aldren Bartosz Geir Arne Joanna Yakub Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista Tingkatkan Keterampilan Python Anda » Guru Keterampilan Python Dunia Nyata Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista Tingkatkan Keterampilan Python Anda » Bagaimana menurutmu? Nilai artikel ini Tweet Bagikan Bagikan EmailApa takeaway # 1 Anda atau hal favorit yang Anda pelajari? Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami Bagaimana saya bisa terhubung ke database dengan Python?Cara menghubungkan database MySQL dengan Python . Instal modul konektor MySQL. Gunakan perintah pip untuk menginstal konektor MySQL Python. . Impor modul konektor MySQL. . Gunakan metode connect(). . Gunakan metode kursor(). . Gunakan metode eksekusi(). . Ekstrak hasil menggunakan fetchall(). Tutup objek kursor dan koneksi Metode apa yang digunakan untuk menghubungkan database?Metode getConnection() dari kelas DriverManager digunakan untuk membuat koneksi dengan database.
Metode apa yang digunakan untuk menghubungkan database di Python Mcq?Jawaban. Untuk membuat koneksi antara database MySQL dan aplikasi python, digunakan fungsi connect( ) . |