Python

Operasi CRUD ke Database SQL dan NoSQL menggunakan Python

Operasi CRUD ke Database SQL dan NoSQL menggunakan Python
Ada dua jenis utama dari database yang dapat digunakan dengan aplikasi: database relasional (SQL) dan database non-relasional (NoSQL). Keduanya banyak digunakan tetapi memilih salah satu tergantung pada jenis data yang akan disimpan. Ada empat operasi dasar yang dapat dilakukan pada basis data: buat, baca, perbarui, dan hapus (CRUD).

Kita dapat berinteraksi dengan database menggunakan bahasa pemrograman apa pun, atau kita dapat menggunakan program perangkat lunak yang memungkinkan kita berinteraksi dengan database menggunakan GUI. Pada artikel ini, kita akan membahas database dan menunjukkan cara berinteraksi dengan mereka menggunakan bahasa pemrograman Python.

Basis Data Relasional (SQL)

Database relasional (SQL) berbeda dari database non-relasional (NoSQL) dalam hal skema. Skema adalah templat yang mendefinisikan struktur data yang akan Anda simpan. Dalam database relasional, kami membuat tabel untuk menyimpan data. Skema tabel ditentukan saat tabel dibuat. Sebagai contoh, jika kita ingin menyimpan data siswa dalam database relasional, maka kita akan membuat tabel siswa dan mendefinisikan skema tabel tersebut, yang mungkin mencakup nama, nomor registrasi, nilai, dll. masing-masing siswa. Setelah membuat skema, kami akan menyimpan data di baris tabel. Penting untuk dicatat bahwa kami tidak dapat menyimpan data yang tidak ditentukan dalam skema. Dalam contoh ini, nilai yang diterima siswa pada ujian tidak dapat disimpan dalam tabel karena kami belum menentukan kolom untuk data ini dalam skema.

Daftar berikut mencakup beberapa database relasional yang populer:

Basis Data Non-Relasional (NoSQL)

Seperti dibahas di atas, database non-relasional tidak memiliki skema yang ditentukan. Database non-relasional memiliki koleksi bukan tabel, dan koleksi ini berisi dokumen yang setara dengan baris dalam database relasional. Sebagai contoh, jika kita ingin membuat database non-relasional untuk menyimpan data siswa, kita dapat membuat kumpulan pengguna dan, dalam kumpulan ini, kita akan menyimpan dokumen untuk setiap siswa. Dokumen-dokumen ini tidak memiliki skema yang ditentukan, dan Anda dapat menyimpan apa pun yang Anda inginkan untuk setiap siswa.

Melakukan Operasi CRUD di MySQL

Sekarang, kami akan menunjukkan cara berinteraksi dengan MySQL menggunakan Python.

Menginstal Driver MySQL untuk Python

Untuk berinteraksi dengan MySQL menggunakan Python, pertama-tama kita perlu menginstal driver MySQL dengan Python.

[dilindungi email]:~$ Sudo pip3 install mysql-connector-python

atau

[dilindungi email]:~$ Sudo pip install mysql-connector-python

Membuat Basis Data

Sebelum membuat database, kita perlu terhubung dengan server MySQL menggunakan Python. mysqlnya.modul konektor menawarkan metode connect() untuk membantu membuat koneksi dengan MySQL menggunakan Python.

>>> impor mysql.penyambung
//Ganti dengan IP dan Kredensial Server Anda sendiri
>>> sql = mysql.penyambung.Menghubung(
…host='localhost',
… pengguna = 'root',
… kata sandi='12345'
…)
>>> cetak (sql)

Pesan ini menunjukkan bahwa kita telah berhasil membuat koneksi dengan database MySQL menggunakan Python. Sekarang, kita akan menjalankan query SQL di server MySQL menggunakan metode execute() dari mysql.modul konektor.

>>> kursor = sql.kursor()
>>> query = 'BUAT DATABASE demo_db'
>>> kursor.jalankan (permintaan)

Kode di atas akan membuat database bernama demo_db di MySQL.

Membuat Tabel

Sekarang kita telah membuat database, kita akan membuat tabel baru bernama siswa. Untuk membuat tabel, kita perlu terhubung ke database.

>>> sql_db = mysql.penyambung.Menghubung(
…host='localhost',
… pengguna = 'root',
… kata sandi='12345',
… database='demo_db'
…)

Setelah terhubung ke database, kami akan menggunakan metode execute() untuk menjalankan kueri SQL untuk membuat tabel dengan skema.

>>> query = "CREATE TABLE siswa(nama VARCHAR(64), id INT, grade INT, dob DATE)";
>>> kursor.jalankan (permintaan);

Perintah di atas akan membuat tabel bernama siswa di database demo_db; kita hanya dapat memasukkan nama, id, kelas dan tanggal lahir di tabel, seperti yang didefinisikan dalam skema.

Memasukkan Baris ke dalam Tabel

Sekarang kita telah membuat tabel, kita akan memasukkan siswa ke dalam tabel ini. Kami akan membuat kueri dan kemudian menggunakan metode execute() untuk menjalankan kueri di server MySQL menggunakan Python.

>>> query = 'INSERT INTO Students(name, id, grade, dob) VALUES(“John”, 1, 3, “2020-7-04”)'
>>> kursor.jalankan (permintaan)
>>> sql_db.melakukan()

Kueri ini akan menambahkan siswa dengan data yang ditentukan dalam kueri ke dalam tabel. Kami dapat menambahkan siswa tambahan ke tabel dengan cara yang sama.

CATATAN: Perubahan akan diterapkan ke database hanya jika Anda menjalankan sql_db.commit() setelah menerapkan perubahan.

Memilih Baris dari Tabel

Pernyataan SELECT di MySQL digunakan untuk mengembalikan data dari tabel. Kami akan menggunakan metode execute() untuk menjalankan kueri, dan kemudian kami akan menggunakan metode fetchall() untuk mendapatkan daftar semua siswa. Kemudian, kita dapat menggunakan perulangan for untuk menampilkan semua siswa

>>> query = 'PILIH * DARI siswa'
>>> kursor.jalankan (permintaan)
>>> hasil = kursor.ambil semua()
>>> untuk x dalam hasil:
… cetak(x)
('John', 1, 3, tanggal waktu.tanggal (2020, 7, 4))

Kita dapat melihat bahwa hanya data untuk satu data siswa yang dikembalikan, karena kita hanya memiliki satu siswa dalam tabel. Kita dapat menggunakan pernyataan WHERE di MySQL dengan pernyataan SELECT untuk menentukan batasan. Misalnya, jika kita ingin mengembalikan siswa di kelas 4 saja, kita bisa menggunakan query berikut:

>>> query = 'PILIH * DARI siswa WHERE kelas = 4'
>>> kursor.jalankan (permintaan)
>>> hasil = kursor.ambil semua()
>>> untuk x dalam hasil:
… cetak(x)

Kode di atas hanya akan mengambil siswa dari kelas 4.

Memperbarui Baris

Di bagian ini, kami akan menunjukkan cara memperbarui data siswa di tabel MySQL menggunakan Python. Kami akan menggunakan pernyataan UPDATE dengan pernyataan WHERE dan SET di MySQL untuk memperbarui data siswa tertentu. Pernyataan WHERE digunakan untuk menentukan baris mana yang akan diperbarui, dan pernyataan SET digunakan untuk mendefinisikan nilai yang digunakan untuk pembaruan.

>>> query = 'PERBARUI siswa SET name="Mark" WHERE id = 4'
>>> kursor.jalankan (permintaan)
>>> sql_db.melakukan()

Sekarang, kita akan mencoba membaca data siswa dari tabel dengan menggunakan pernyataan SELECT.

>>> query = 'PILIH * DARI siswa WHERE id=4'
>>> kursor.jalankan (permintaan)
>>> untuk x di kursor:
… cetak(x)
('Tandai', 4, 4, tanggal waktu.tanggal(2020, 7, 15))

Sekarang, kita dapat melihat bahwa nama siswa dengan id 4 telah diubah menjadi Mark.

Menghapus Baris

Kita dapat menghapus baris dari tabel dengan menerapkan pernyataan DELETE di MySQL menggunakan Python. Kami akan menggunakan pernyataan DELETE dengan pernyataan WHERE untuk menghapus siswa tertentu dari tabel.

>>> query = 'HAPUS DARI siswa WHERE id=2'
>>> kursor.jalankan (permintaan)
>>> sql_db.melakukan()

Sekarang, kita dapat mengembalikan semua siswa dari tabel menggunakan pernyataan SELECT.

>>> query = 'PILIH * DARI siswa'
>>> kursor.jalankan (permintaan)
>>> untuk x di kursor:
… cetak(x)
('John', 1, 3, tanggal waktu.tanggal (2020, 7, 4))
('John', 3, 3, tanggal waktu.tanggal (2020, 7, 8))
('Tandai', 4, 4, tanggal waktu.tanggal(2020, 7, 15))

Kita dapat melihat bahwa tabel tidak berisi siswa dengan id 2, karena kita telah menghapus siswa dari tabel.

Menjatuhkan Meja

mysqlnya.modul konektor juga dapat digunakan untuk menjatuhkan meja. Kita dapat mengeksekusi pernyataan DROP di MySQL dengan menggunakan metode execute().

>>> kursor = sql_db.kursor()
>>> query = 'PELAJARI TABEL DROP'
>>> kursor.jalankan (permintaan)

Kode di atas akan menghapus tabel bernama siswa saat dieksekusi dengan Python.

Itu menyimpulkan diskusi kita tentang database SQL. Kami telah menunjukkan kepada Anda cara menerapkan kueri yang berbeda ke database MySQL menggunakan Python. Selanjutnya, kita akan menerapkan operasi CRUD ke Database NoSQL yang disebut MongoDB

Melakukan Operasi CRUD di MongoDB

Untuk berinteraksi dengan MongoDB menggunakan Python, pertama-tama kita harus menginstal pymongo, yang merupakan driver MongoDB untuk Python.

[dilindungi email]:~$ Sudo pip install pymongo

atau

[dilindungi email]:~$ Sudo pip3 install pymongo

Membuat Basis Data

Kita dapat terhubung ke MongoDB menggunakan metode MongoClient() dari modul pymongo di MongoDB. Sebelum melakukan tindakan apa pun, kita perlu terhubung ke database MongoDB.

>>> impor pymongo
>>> klien = pymongo.MongoClient('mongodb://localhost:27017/')

Setelah terhubung ke datacase, kita dapat mengeksekusi baris berikut untuk membuat database baru bernama demo_db.

>>> db = klien['demo_db']

Jika database sudah ada, maka perintah ini diabaikan.

Membuat Koleksi

Sekarang kita telah membuat database, kita akan membuat koleksi bernama siswa di database bernama.

>>> impor pymongo
>>> klien = pymongo.MongoClient('mongodb://localhost:27017/')
>>> db = klien['demo_db']
>>> col = db['siswa']

CATATAN: MongoDB tidak membuat koleksi sampai Anda memasukkan data di dalamnya. Oleh karena itu, jika Anda mencoba mengakses koleksi setelah menjalankan kode di atas, Anda akan menemukan bahwa tidak ada apa pun di database.

Tanpa garis MySQL, kita tidak perlu mendefinisikan skema saat kita membuat koleksi baru, karena MongoDB adalah database non-relasional.

Memasukkan Dokumen

Setelah membuat koleksi, kita dapat memasukkan dokumen ke dalam koleksi. Pertama, kita harus mendefinisikan kamus, dan kemudian kita dapat menggunakan metode insert_one() untuk memasukkan data yang didefinisikan dalam kamus ke dalam koleksi.

CATATAN: MongoDB secara otomatis membuat '_id' unik untuk setiap dokumen; oleh karena itu, kita tidak perlu menentukan id.

>>> data =
… "nama": "John",
… "kelas 3,
… "dob": "03-04-2020"

>>> hasil = col.masukkan_satu(data)

Dalam dokumen di atas, kami memasukkan nama, kelas, dan dob. Sekarang, kami akan memasukkan dokumen ke dalam koleksi siswa yang memiliki bidang untuk usia.

>>> data =
… "nama" : "Tandai",
… "kelas 4,
… "dob": "2020-04-09",
… "usia" : 8

>>> hasil = col.masukkan_satu(data)

Kita dapat melihat bahwa perintah ini tidak menimbulkan kesalahan. Karena MongoDB adalah database non-relasional, kami dapat menambahkan informasi apa pun yang kami inginkan ke dalam dokumen.

Mendapatkan Dokumen

Di bagian ini, kita akan menggunakan metode find() dan find_one() untuk mendapatkan data dari database. Metode find() membutuhkan dua argumen: yang pertama digunakan untuk memfilter dokumen, dan yang kedua digunakan untuk menentukan bidang dokumen yang ingin kita kembalikan. Misalnya, jika kita ingin mendapatkan id dari 'John,' maka kita dapat menjalankan query berikut:

>>> hasil = col.temukan("nama": "John", "_id": 1)
>>> untuk x dalam hasil:
… cetak(x)
'_id': ObjectId('5f8f0514cb12c01f7420656e')

Atau, kita bisa mendapatkan semua dokumen dari koleksi dengan menggunakan kueri berikut:

>>> hasil = col.Temukan()
>>> untuk x dalam hasil:
… cetak(x)
'_id': ObjectId('5f8f0514cb12c01f7420656e'), 'name': 'John', 'grade': 3, 'dob': '2020-04-03'
'_id': ObjectId('5f8f061ccb12c01f7420656f'), 'name': 'Mark', 'grade': 4, 'dob': '2020-04-09', 'age': 8

Memperbarui Dokumen

Modul pymongo menawarkan metode update_one() dan update_many() untuk memperbarui dokumen dalam koleksi. Kedua metode mengambil dua argumen: yang pertama mendefinisikan dokumen mana yang akan diubah, dan yang kedua mendefinisikan nilai-nilai baru. Sekarang, kita akan mengubah nilai siswa 'Mark'.

>>> kueri = "nama": "Tandai"
>>> nilai = "$set": "grade": 5
>>> kol.update_one(kueri, nilai)
>>> untuk x dalam col.Temukan():
… cetak(x)
'_id': ObjectId('5f8f0514cb12c01f7420656e'), 'name': 'John', 'grade': 3, 'dob': '2020-04-03'
'_id': ObjectId('5f8f061ccb12c01f7420656f'), 'name': 'Mark', 'grade': 5, 'dob': '2020-04-09', 'age': 8

Menghapus Dokumen

Modul pymongo di Python memiliki dua metode, yaitu:.e., delete_one() dan delete_many(), untuk menghapus dokumen. Kedua metode mengambil argumen yang memilih dokumen untuk dihapus. Dengan kode berikut, kami akan menghapus siswa bernama 'John'.

>>> kueri = "nama": "John"
>>> kol.hapus_satu(permintaan)
>>> untuk x dalam col.Temukan():
… cetak(x)
'_id': ObjectId('5f8f061ccb12c01f7420656f'), 'name': 'Mark', 'id': 2, 'grade': 5, 'dob': '2020-04-09', 'age': 8

Menjatuhkan Koleksi

Kita dapat menjatuhkan koleksi di MongoDB dengan menggunakan metode drop() dari modul pymongo dengan Python. Pertama, kita perlu terhubung ke database; kemudian, kami memilih database yang menyimpan koleksi yang ingin kami hapus. Setelah memilih koleksi dari database, kita dapat menghapus koleksi menggunakan metode drop(). Kode berikut akan menjatuhkan siswa.

>>> impor pymongo
>>> klien = pymongo.MongoClient('mongodb://localhost:27017/')
>>> db = klien['demo_db']
>>> col = db['siswa']
>>> kol.penurunan()

Kesimpulan

Pengetahuan tentang database sangat penting jika Anda ingin membuat aplikasi web. Hampir setiap bahasa pemrograman memiliki kerangka kerja dan pustaka untuk pengembangan web backend. Python dapat digunakan dalam pengembangan web backend, sehingga kita dapat berinteraksi dengan database menggunakan Python saat bekerja dengan kerangka kerja backend Python. Pada artikel ini, kami menunjukkan cara berinteraksi dengan database MongoDB dan MySQL dengan menggunakan operasi CRUD sederhana yang ditulis dengan Python.

Game Lab Aplikasi Oculus Teratas
Jika Anda adalah pemilik headset Oculus maka Anda harus tahu tentang sideloading. Sideloading adalah proses menginstal konten non-toko di headset Anda...
10 Game Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform yang mendominasi untuk bermain game karena persentase besar dari game yang berkembang saat ini untu...
5 Game Arkade Terbaik untuk Linux
Saat ini, komputer adalah mesin serius yang digunakan untuk bermain game. Jika Anda tidak bisa mendapatkan skor tinggi baru, Anda akan tahu apa yang s...