13 Perintah dan Query SQL Dasar Yang Harus Diketahui Programmers
Setiap situs web besar atau dinamis menggunakan database dalam beberapa cara, dan ketika dikombinasikan dengan Structured Query Language (SQL), kemungkinan untuk memanipulasi data benar-benar tidak terbatas.
Basis data membentuk tulang punggung web modern. Setiap situs web besar atau dinamis menggunakan database dalam beberapa cara, dan ketika dikombinasikan dengan perintah SQL (Bahasa Kueri Terstruktur), kemungkinan untuk memanipulasi data benar-benar tidak terbatas.
Ada banyak nama untuk data yang dikembalikan dari tabel database. Data biasanya disebut sebagai Rows, Records, atau Tuples . Masing-masing istilah ini digunakan secara bergantian di seluruh artikel ini.
Kata pengantar
Semua contoh didasarkan pada empat tabel fiksi. Tabel pelanggan berisi nama dan usia pelanggan:
Nama Usia
joe 99
James 78
Ryan 101
Tabel ketinggian berisi nama dan tinggi orang:
Nama Tinggi
joe 101
James 102
Ryan 103
Tabel staf berisi nama dan usia anggota staf, persis sama dengan tabel pelanggan:
Nama Usia
joe 17
James 24
Ryan 18
Tabel orang terakhir berisi nama dan usia orang, seperti tabel pelanggan dan staf:
Nama Usia
joe 98
James 99
Ryan 100
1. Pilih
Perintah pilih dalam SQL adalah yang paling sederhana, namun salah satu kueri SQL terpenting dalam rangkaian perintah SQL.
Ini dianggap sebagai praktik terbaik untuk menulis sintaks SQL cadangan kamu dalam huruf besar, karena membuat perintah pilih mudah dibaca dan dipahami.
Sesuai namanya, pilih digunakan untuk memilih data dari database. Berikut penggunaan paling sederhana:
SELECT * FROM table;
Ada dua bagian untuk baris perintah ini. Bagian pertama ( SELECT * ) menentukan kolom mana yang ingin kamu pilih.
Tkamu bintang menunjukkan bahwa kamu ingin memilih semua kolom dari tabel yang ditentukan. Bagian kedua ( FROM table ) memberitahu mesin database kamu dari mana kamu ingin mengambil data ini.
Ganti tabel dengan nama tabel database kamu.
Pernyataan pilih ini dikenal sebagai bintang pilih . Tkamu bintang adalah cara yang baik untuk mengetahui data apa yang ada dalam tabel, tetapi tidak selalu disarankan untuk kode produksi.
Sebagian besar waktu, kamu akan bekerja dengan banyak baris kode—yang berarti bahwa pernyataan pilih * kamu akan menempatkan sistem kamu ke mode limbo. Ini karena ia mencoba mengambil semua baris data dari tabel yang ditentukan.
Saat menggunakan bintang pilih, terserah kepada mesin database untuk menyajikan data yang kamu inginkan. kamu tidak memiliki kendali atas urutan pengembalian data, jadi jika seseorang menambahkan kolom baru ke tabel, kamu mungkin menemukan variabel dalam bahasa pemrograman kamu tidak lagi mewakili data yang benar. Untungnya, ada solusi.
kamu dapat secara eksplisit menyatakan kolom mana yang ingin kamu ambil, seperti ini:
SELECT age, name FROM people;
Kueri ini mengambil kolom usia dan nama dari tabel orang. Menjadi eksplisit ini bisa sedikit membosankan jika kamu memiliki banyak data, tetapi melakukannya akan mengurangi masalah di masa mendatang, bersama dengan membuat kueri SQL kamu lebih mudah dipahami.
Jika kamu ingin memilih bagian data tambahan, tetapi tidak disimpan di tabel mana pun, kamu dapat melakukannya seperti ini:
SELECT age, '1234' FROM people;
String apa pun di dalam tkamu kutip tunggal akan dikembalikan alih-alih mencocokkan nama kolom.
TERKAIT:
SQL Vs. NoSQL: Apa Basis Data Terbaik Untuk Proyek kamu Selanjutnya?
2. Dimana?
Perintah pilih sangat bagus untuk mengambil data, tetapi bagaimana jika kamu ingin memfilter hasil berdasarkan kriteria tertentu?
Bagaimana dengan mengambil hanya orang yang memiliki mata biru? Bagaimana dengan orang yang lahir di bulan Januari yang bekerja sebagai mekanik?
Di sinilah perintah masuk. Penggunaan perintah SQL ini memungkinkan kamu untuk menerapkan kondisi dengan pernyataan pilih, dan kamu cukup menambahkannya ke akhir pernyataan:
SELECT age, name FROM people WHERE age < 100
Kueri ini sekarang dibatasi untuk orang yang berusia di bawah 100 tahun.
kamu dapat menggabungkan beberapa kondisi menggunakan operator AND :
SELECT * FROM customer WHERE age > 80 AND age < 100;
Perintah AND bekerja persis seperti dalam bahasa Inggris: perintah ini menerapkan kondisi lain pada pernyataan.
Perintah lain yang dapat digunakan bersama dengan ini adalah OR . Berikut ini contohnya:
SELECT * FROM customer WHERE age > 10 OR name = 'Joe';
Kueri ini mengembalikan rekaman yang usianya lebih dari 90 , atau namanya sama dengan Joe .
3. Pesan
Perintah order digunakan untuk mengurutkan hasil dalam urutan ascending/descending. Cukup tambahkan ke akhir pernyataan kamu, setelah pernyataan where, jika kamu menggunakannya:
SELECT * FROM customer ORDER BY age DESC;
kamu perlu menentukan kolom dan urutannya, yang dapat berupa ASC untuk ascending atau DESC untuk descending. Jika ASC atau DESC tidak ditentukan, urutan pengurutan akan naik secara default.
kamu dapat memesan dengan beberapa kolom seperti ini:
pilih * dari urutan staf berdasarkan usia, nama;
ORDER BY adalah salah satu perintah yang paling berguna bila dikombinasikan dengan perintah lain. Tidak semua kueri akan mengembalikan data dengan cara yang logis atau berurutan; perintah ini memungkinkan kamu mengubahnya.
4. Gabung
Perintah join di sql digunakan untuk menggabungkan data terkait yang disimpan dalam satu atau lebih tabel. kamu dapat menggabungkan satu tabel ke tabel lainnya, untuk mengambil hasil gabungan.
Berikut ini contoh dasarnya:
SELECT age, name, height FROM people
LEFT JOIN heights
USING (name);
kamu harus mulai dengan sintaks LEFT JOIN , yang menentukan bahwa kamu ingin bergabung dengan tabel menggunakan gabungan tipe kiri.
TERKAIT:
Cara Query Beberapa Tabel Database Sekaligus Dengan SQL Joins
Selanjutnya, tentukan tabel yang ingin kamu gabung (ketinggian). Sintaks USING (nama) menyatakan bahwa nama kolom dapat ditemukan di kedua tabel, dan ini harus digunakan sebagai kunci utama untuk menggabungkan tabel bersama.
Jangan khawatir jika kolom kamu memiliki nama yang berbeda di setiap tabel. kamu dapat menggunakan ON alih-alih MENGGUNAKAN :
SELECT a.age, a.name,b.Height FROM people a LEFT JOIN heights as b ON a.name = b.name;
Pernyataan on secara eksplisit menyatakan kolom mana yang akan dikunci. Ada banyak jenis gabungan; berikut ringkasan singkat penggunaannya:
(INNER) JOIN mengembalikan baris dengan kecocokan di kedua tabel.
LEFT (OUTER) JOIN mengembalikan semua baris dari tabel kiri, dengan kecocokan dari tabel kanan. Jika tidak ada kecocokan, catatan tabel kiri masih dikembalikan.
RIGHT (OUTER) JOIN s kebalikan dari left join: semua baris dari tabel kanan dikembalikan, bersama dengan kecocokan di tabel kiri.
FULL (OUTER) JOIN mengembalikan catatan apa pun dengan kecocokan di salah satu tabel.
UNEQUAL JOIN: Catatan yang tidak cocok dari kedua tabel adalah hasil.
5. Alias
Perintah Alias digunakan untuk mengganti nama tabel sementara. Ini adalah nama panggilan yang ada di dalam transaksi individu yang kamu jalankan.
Inilah cara kamu menggunakannya:
SELECT A.age FROM people as A;
kamu dapat menggunakan nama valid apa pun yang kamu suka, tetapi sebaiknya gunakan huruf alfabet. Sebelum setiap nama kolom, alias diawali.
Alias ini ditugaskan ke tabel segera setelah dideklarasikan. Ini sama dengan melakukan ini:
SELECT people.age FROM people;
Daripada mengetik nama tabel yang panjang, kamu bisa mengetikkan huruf yang sederhana dan mudah diingat.
Jika kamu memilih dari lebih dari satu tabel, mudah menjadi bingung tentang kolom mana yang termasuk dalam tabel mana. Jika kedua tabel kebetulan memiliki kolom dengan nama yang sama, kueri database kamu akan gagal dijalankan tanpa secara eksplisit merujuk nama tabel atau alias.
Berikut ini contoh dengan dua tabel:
SELECT staff.age, staff.name, customers.age, customers.name FROM staff, customers;
Inilah kueri yang sama dengan alias:
SELECT A.age, A.name, B.age, B.name FROM staff A, customers B;
Tabel staf diberi alias A , dan tabel pelanggan diberi alias B . Tabel alias membantu membuat kode kamu lebih mudah dipahami dan mengurangi jumlah pengetikan yang harus kamu lakukan.
kamu juga dapat mengganti nama kolom dengan alias menggunakan perintah AS :
SELECT age AS person_age FROM people;
Saat kueri ini dijalankan, kolom sekarang akan disebut person_age alih-alih age .
6. Persatuan
Union adalah perintah yang bagus, karena memungkinkan kamu untuk menambahkan baris satu sama lain. Tidak seperti gabungan yang menambahkan kolom yang cocok, gabungan dapat menambahkan baris yang tidak terkait asalkan memiliki nomor dan nama kolom yang sama.
SELECT age, name FROM customer
UNION
SELECT age, name FROM staff;
kamu dapat menganggap penyatuan sebagai cara menggabungkan hasil dari dua kueri. Gabungan hanya akan mengembalikan hasil jika ada baris unik di antara dua kueri.
kamu dapat menggunakan sintaks UNION ALL untuk mengembalikan semua data, terlepas dari duplikatnya:
SELECT age, name FROM customer
UNION ALL
SELECT age, name FROM staff;
Perhatikan bagaimana urutan baris berubah? Union beroperasi dengan cara yang paling efisien, sehingga data yang dikembalikan dapat bervariasi secara berurutan.
Kasus penggunaan yang mungkin untuk penyatuan adalah subtotal: kamu dapat menggabungkan kueri jumlah total ke kueri total individu untuk skenario tertentu.
7. Sisipkan
Terkadang, kamu ingin menambahkan data baru ke dalam database/tabel yang sudah ada. Di sinilah perintah insert dalam SQL masuk.
Sintaks VALUES digunakan untuk memberikan nilai yang akan disisipkan.
INSERT INTO people(name, age)
VALUES('Joe', 102);
kamu harus menentukan nama tabel (orang), dan kolom yang ingin kamu gunakan (nama dan usia). Sintaks VALUES digunakan untuk memberikan nilai yang akan disisipkan. Ini harus dalam urutan yang sama dengan kolom yang ditentukan sebelumnya.
kamu tidak dapat menentukan klausa where untuk sisipan, dan kamu perlu memastikan bahwa kamu mengikuti batasan tabel yang diperlukan yang ada.
8. Perbarui
Setelah memasukkan beberapa data, wajar saja jika kamu perlu mengubah baris tertentu. Berikut sintaks perintah pembaruan :
UPDATE people SET name = 'Joe', age = 101;
kamu harus menentukan tabel yang ingin kamu ubah, dan kemudian menggunakan sintaks SET untuk menentukan kolom dan nilai barunya.
Untuk lebih spesifik, kamu dapat menggunakan klausa WHERE seperti ketika melakukan pernyataan pilih:
UPDATE people SET name = 'Joe', age = 101 WHERE name = 'James';
kamu bahkan dapat menentukan beberapa kondisi menggunakan AND/ OR :
UPDATE people SET name = 'Joe', age = 101 WHERE (name = 'James' AND age = 100) OR name = 'Ryan';
Perhatikan bagaimana tkamu kurung digunakan untuk membatasi kondisi.
9. Bagian atas
Upsert adalah kata yang terdengar aneh, tetapi itu adalah perintah yang sangat berguna. Katakanlah kamu memiliki batasan di meja kamu, dan kamu telah menetapkan bahwa kamu hanya menginginkan catatan dengan nama unik; kamu tidak ingin menyimpan dua baris dengan nama yang sama, misalnya.
Jika kamu mencoba memasukkan beberapa nilai Joe , mesin basis data kamu akan membuat kesalahan dan menolak melakukannya (cukup tepat).
Sebuah UPSERT memungkinkan kamu untuk memperbarui catatan jika sudah ada. Ini sangat berguna! Tanpa perintah ini, kamu harus menulis banyak pernyataan logis untuk terlebih dahulu memeriksa apakah ada catatan, masukkan jika tidak, jika tidak, ambil kunci utama yang benar dan kemudian perbarui.
Sayangnya, upser diimplementasikan secara berbeda di mesin basis data yang berbeda. PostgreSQL baru-baru ini memperoleh kemampuan ini, sedangkan MySQL telah memilikinya cukup lama. Berikut sintaks MySQL untuk referensi:
INSERT INTO people(name, age)
VALUES('Joe', 101)
ON DUPLICATE KEY UPDATE age = 101;
Perhatikan bagaimana ini pada dasarnya adalah pembaruan dan pernyataan penyisipan, yang dapat disimpulkan sebagai pembaruan jika penyisipan gagal.
10. Hapus
Hapus digunakan untuk menghapus catatan seluruhnya; itu bisa sangat merusak jika digunakan dengan cara yang salah.
Sintaks dasarnya sangat mudah digunakan:
DELETE FROM people;
Seperti kebanyakan perintah lainnya, ini akan menghapus semuanya . kamu perlu menggunakan tempat untuk membatasinya ke jumlah baris yang sedikit lebih waras, idealnya satu:
DELETE FROM people WHERE name = 'Joe';
Jika kamu sedang mengembangkan sistem, sering kali bijaksana untuk menerapkan soft delete . kamu tidak pernah benar-benar menjalankan perintah delete; alih-alih kamu membuat kolom yang dihapus, lalu periksa kolom itu di pilihan kamu. Ini dapat menghindari banyak potensi rasa malu, jika kamu dapat dengan cepat dan mudah mengambil kembali catatan yang seharusnya dihapus. Namun, ini bukan pengganti cadangan yang tepat.
11. Buat Tabel
Perintah create table digunakan untuk membuat tabel. Ini adalah proses kueri sederhana dan mendasar lainnya:
CREATE TABLE people (
name TEXT,
age, INTEGER,
PRIMARY KEY(name)
);
Perhatikan bagaimana nama kolom dan batasan berada di dalam tkamu kurung, dan kolom diberi tipe data yang sesuai.
TERKAIT:
Cara Membuat Tabel Di SQL
Kunci utama ditentukan, seperti yang diperlukan dalam desain basis data yang baik.
12. Ubah Tabel
Perintah alter dalam SQL digunakan untuk mengubah struktur tabel. Ini sedikit terbatas, karena database kamu tidak akan mengizinkan kamu mengubah tabel jika data yang ada akan menyebabkan konflik—mengubah string menjadi integer, misalnya. Dalam kasus tersebut, perbaiki data terlebih dahulu, lalu ubah tabel. Berikut ini contohnya:
ALTER TABLE people ADD height integer;
Contoh ini menambahkan kolom yang disebut tinggi tipe integer ke tabel orang. Sebenarnya tidak ada batasan pada apa yang dapat kamu ubah.
13. Jatuhkan Meja
Perintah terakhir adalah drop table . Anggap ini sebagai penghapusan, tetapi alih-alih menghapus satu catatan, ini menghapus setiap catatan bersama dengan tabel. Inilah cara kamu dapat menggunakannya:
DROP TABLE people;
Ini adalah perintah yang cukup drastis, dan tidak ada alasan itu perlu diprogram ke dalam sistem kamu. Ini hanya boleh dilakukan secara manual di sebagian besar kasus, karena bisa sangat merusak.
Perintah SQL untuk Setiap Programmer Di Luar Sana
SQL adalah alat yang sangat umum, namun kuat, yang dapat membantu mengekstrak, mengubah, dan memuat data dari/ke dalam basis data. Inti dari kueri data terletak pada SQL. Untuk menguasai bahasa tersebut, kamu perlu tahu cara mengerjakan beberapa perintah untuk kasus penggunaan terbaik.
Posting Komentar untuk "13 Perintah dan Query SQL Dasar Yang Harus Diketahui Programmers"