Kueri SQL Teratas dengan Python Yang Harus Diketahui Setiap Pengembang Python

Diterbitkan: 2021-01-29

SQL adalah singkatan dari Structured Query language yang membantu dalam mengelola, memanipulasi, dan menyimpan database relasional. Basis data relasional terdiri dari kumpulan tabel yang berkorelasi dalam satu atau lain bentuk. Beberapa tabel memungkinkan kita dalam memisahkan entitas yang berbeda dari informasi target dan menghindari ratusan kolom yang dipukul dalam satu tabel yang dapat mempersulit pengelolaan database.

Ini adalah bahasa query dan bukan database itu sendiri. Kueri ini dapat dilakukan pada sistem manajemen basis data relasional seperti Oracle, Microsoft SQL Server, tetapi ada pendekatan Pythonic untuk membuat dan menjalankan kueri SQL.

Daftar isi

SQLite3

Ini adalah library built-in Python yang memungkinkan kita untuk membuat database ringan tanpa perlu menjalankan model client-server yang sebenarnya. Ini dapat digunakan secara internal oleh aplikasi untuk menyimpan data dan menjalankan perintah SQL. Paket ini mudah digunakan dan memungkinkan untuk mereplikasi skema yang sama di basis data berbasis produksi seperti Postgresql. Mari kita lihat cara mengatur database.

  • Pernyataan impor standar:

impor sqlite3 sebagai sq

Perpustakaan diimpor sebagai alias "sq".

  • Sekarang, kita perlu membuat koneksi ke database. Objek koneksi akan melayani tujuan ini:

koneksi = sq.connect(“contoh.db”)

Jika file ini tidak dibuat sebelumnya, maka akan dibuat segera setelah perintah ini dijalankan.

  • Untuk mengakses dan mengambil informasi dari database, objek kursor perlu dibuat.

kursor = koneksi.kursor()

Sekarang pengaturan dasar telah dilakukan, kita dapat memasukkan data ke dalam database dengan membuat tabel masing-masing, tetapi sebelum itu, mari kita merevisi beberapa perintah SQL.

Perintah Dasar dalam SQL

SQL sangat baik dalam hal perintah yang dapat dibaca bahasa Inggris. Ini biasanya diketik dalam huruf besar dan tidak ada batasan tentang ini. Ini biasanya dilakukan agar kata kunci kueri disorot, dan kata kunci tersebut dapat dibedakan dari atribut tabel. Tetapi karena sekarang kami memiliki IDE yang kuat yang menyorotnya dalam warna yang berbeda, metode apa pun akan berhasil.

1. Buat Tabel

Ini memungkinkan Anda untuk membuat objek penyimpanan data, tabel di database Anda. Sebuah database dapat memiliki banyak tabel dengan satu atau banyak relasi. Tabel memiliki header untuk setiap kolom yang menjelaskan nilai yang dipegangnya. Saat membuat tabel, Anda perlu menentukan nama kolom, tipe data yang akan disimpan, dan ukurannya. Anda dapat menambahkan atribut lain seperti jika kolom adalah kunci utama, dapat memiliki nilai nol, dan sebagainya.

Sebuah tabel dasar dapat dibuat sebagai:

BUAT TABEL company_data (

id int,

nama varchar (24),

no_of_karyawan ke

);

2. PILIH dan DARI

Seperti namanya, ini digunakan untuk memilih dan mengambil data dari tabel. Ini adalah langkah terpenting yang memungkinkan Anda melihat data. Ini mirip dengan fungsi kepala atau ekor Panda.

Permintaan sederhana menggunakan perintah ini akan terlihat seperti ini:

PILIH <nama_kolom>

DARI <nama_tabel>;

Untuk mengambil semua kolom dari tabel, Anda dapat meletakkan bintang (*) sebagai ganti semua nama kolom. Kata kunci LIMIT membantu dalam menentukan jumlah baris maksimum. Pertimbangkan kueri ini:

PILIH *

DARI contoh_tabel

BATAS 5;

3. Dimana

Klausa where digunakan untuk menentukan kondisi tambahan pada kueri. Anda dapat menyertakan rentang untuk kolom, perbandingan tertentu, atau negasi.

Sebagai contoh:

PILIH nama_klien, nama_perusahaan

DARI data_perusahaan

WHERE company_name = 'upGrad';

4. Sisipkan

Klausa ini digunakan untuk menambahkan nilai ke tabel data. Nilai dimasukkan dalam urutan yang sama dengan nama kolom yang ditambahkan ke tabel dalam perintah buat tabel. Seseorang dapat menyisipkan beberapa baris atau satu per satu.

Misalnya, kueri di bawah ini memasukkan 3 catatan ke dalam tabel:

INSERT INTO company_data (id, nama, no_of_employees)

NILAI

(1, 'perusahaan_A', 100),

(2, 'perusahaan_B', 200),

(3, 'perusahaan_C', 500);

Mengeksekusi melalui Python

Sekarang setelah Anda mengetahui perintah, saatnya untuk menjalankannya dalam kode. Sejauh ini kita terhubung ke database dan membuat objek kursor. Objek ini akan membantu dalam menjalankan perintah pada database:

cursor.execute(''' <QUERY> ''')

Kueri dilewatkan sebagai string dan dalam tanda kutip tiga. Perubahan ini tidak akan tercermin dalam database sampai Anda melakukan perubahan ini. Menutup koneksi ke database di akhir memastikan bahwa tidak ada eksekusi baru yang akan dilakukan setelah titik ini.

Lihatlah kode sederhana ini:

impor sqlite3 sebagai sq

koneksi = sq.connect(“contoh.db”)

kursor = koneksi.kursor()

kursor.execute("'

BUAT TABEL tabel1 (

id int,

nama varchar (24)

)

”')

kursor.execute("'

INSERT INTO table1 (id, nama)

NILAI

(1, 'meningkatkan'),

(2, 'blog')

”')

kursor.execute("'

PILIH *

DARI tabel1

”')

koneksi.komit()

koneksi.close()

Tips Penting

1. Karena kueri dilewatkan sebagai string, memodifikasinya menggunakan f-string mungkin tampak seperti pilihan yang baik untuk membuat program dinamis dan dikendalikan pengguna, tetapi dapat menyebabkan beberapa masalah keamanan seperti serangan injeksi SQL. Untuk menghindari ini, gunakan placeholder “?” di mana pun Anda ingin mengganti beberapa nilai dalam kueri. Contohnya:

cursor.execute('“SELECT ? FROM ?''', col_name, table_name)

Anda dapat meminta pengguna untuk memberikan nama kolom dan nilai itu akan diganti di sini.

2. Gunakan fungsi seperti fetchone() dan fetchall() untuk mengulangi hasil. Fetchone mengembalikan baris berikutnya dalam kueri dan fetchall mengembalikan semua baris yang diambil oleh kursor. Hasilnya dikembalikan sebagai tuple sehingga tidak dapat dimodifikasi oleh fungsi eksternal dalam program.

3. Jika Anda ingin menambahkan nilai massal ke database, maka Anda dapat menggunakan fungsi executemany() dan meneruskan daftar tupel yang berisi nilai yang akan ditambahkan. Sebagai contoh:

to_add = [(1, 'halo') , (2, 'Dunia')]

cursor.executemany('INSERT INTO table VALUES (?, ?)', to_add)

Baca Juga: Ide & Topik Proyek Python

Pelajari kursus ilmu data online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Kesimpulan

SQL adalah bahasa database yang paling disukai dan mudah dimengerti. Kebanyakan pemula dalam Ilmu Data disarankan untuk berlatih SQL karena meningkatkan proses pengambilan data dan memberikan gambaran sekilas tentang bagaimana Rekayasa Data dilakukan. Ini adalah bahasa standar untuk manipulasi database dan menawarkan akses lebih cepat ke database.

Jika Anda penasaran untuk belajar tentang ilmu data, lihat Diploma PG IIIT-B & upGrad dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri, 1- on-1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.

Apa yang Anda ketahui tentang batasan dalam SQL?

Kendala menentukan jenis data apa yang akan dimasukkan ke dalam tabel. Mereka ditentukan selama pembuatan tabel dan dapat diterapkan ke satu bidang atau beberapa bidang. Batasan dalam SQL adalah:
NOT NULL- Mencegah nilai NULL dimasukkan ke dalam bidang.
CHECK- Memeriksa apakah semua nilai dalam bidang memenuhi kondisi yang diberikan.
DEFAULT- Menetapkan nilai default ke bidang secara otomatis jika tidak ada nilai yang dimasukkan.
UNIK- Mengizinkan hanya nilai unik yang dimasukkan ke dalam bidang.
INDEX- Mengindeks bidang yang menyediakan pengambilan catatan lebih cepat.
PRIMARY KEY- Secara unik mengidentifikasi setiap record dalam sebuah tabel.
KUNCI ASING- Menahan tindakan yang dapat merusak tautan antar tabel.

Jelaskan indeks dan jenis-jenisnya?

Indeks atau indeks database dapat disebut sebagai tabel pencarian khusus yang membuat operasi pengambilan data lebih cepat. Ini menghabiskan lebih banyak memori dan menulis tambahan untuk mencari data lebih cepat. Sebuah indeks dapat terdiri dari 4 jenis:
1. Indeks Unik
2. Indeks Non-Unik
3. Indeks Berkelompok

Apa itu relasi dalam SQL dan apa saja tipenya?

Hubungan antara banyak entitas atau beberapa objek berwujud dan tidak berwujud yang ada hubungannya satu sama lain dikenal sebagai hubungan. Ada 4 jenis hubungan dalam SQL:
1. Satu-ke-Satu
2. Satu-ke-Banyak/Banyak-ke-Satu
3. Banyak-ke-Banyak
4. Hubungan referensi diri.