13 Perintah SQL Paling Penting Yang Harus Diketahui Setiap Programmer

13 Perintah SQL Paling Penting Yang Harus Diketahui Setiap Programmer

Database mendorong web modern. Setiap situs web besar atau dinamis menggunakan database dalam beberapa cara, dan bila dikombinasikan dengan Bahasa Kueri Terstruktur (SQL) , kemungkinan untuk memanipulasi data benar-benar tidak terbatas. Jika Anda sudah tahu SQL, pastikan Anda memeriksa keterampilan pemrograman ini yang harus diketahui semua pengembang situs web.





Hari ini saya akan menunjukkan kepada Anda beberapa dari perintah SQL inti Anda perlu tahu sebagai seorang programmer.





Ada banyak nama untuk data yang dikembalikan dari tabel database. Data biasanya disebut sebagai Baris , Catatan , atau Tuple . Saya akan menggunakan istilah-istilah ini secara bergantian di seluruh artikel ini.





Kata pengantar

Semua contoh hari ini akan didasarkan pada empat tabel fiksi. NS pelanggan tabel berisi nama dan usia pelanggan:

NS ketinggian tabel berisi nama dan tinggi orang:



NS staf tabel berisi nama dan usia anggota staf -- persis sama dengan tabel pelanggan:

Tabel terakhir disebut rakyat berisi nama dan usia orang, seperti tabel pelanggan dan staf:





1. Pilih

NS Pilih pernyataan adalah yang paling sederhana, dan sangat penting Anda memahaminya karena mendukung hampir semua perintah lainnya. Ini dianggap sebagai praktik terbaik untuk menulis kata-kata SQL yang dicadangkan dalam huruf besar, karena membuat perintah lebih mudah dibaca dan dipahami.

Seperti namanya, pilih digunakan untuk Pilih data dari sebuah database. Berikut penggunaan paling sederhana:





SELECT * FROM table;

Ada dua bagian untuk ini. Bagian pertama ( PILIH * ) menentukan kolom mana yang ingin Anda pilih. Tanda bintang menunjukkan bahwa Anda ingin memilih semua kolom dalam tabel. Bagian kedua ( DARI tabel ) memberi tahu mesin basis data Anda dari mana Anda ingin mengambil data ini. Ganti 'tabel' dengan nama tabel database Anda.

Pilihan ini dikenal sebagai 'pilih bintang'. Menggunakan tanda bintang adalah cara yang baik untuk mengetahui data apa yang ada dalam tabel, tetapi saya tidak menyarankan Anda menggunakannya untuk kode produksi apa pun. Saat menggunakan bintang pilih, terserah kepada mesin database untuk menyajikan data yang Anda inginkan. Anda tidak memiliki kendali atas urutan pengembalian data, jadi jika seseorang menambahkan kolom baru ke tabel, Anda mungkin menemukan variabel dalam bahasa pemrograman Anda tidak lagi mewakili data yang benar. Untungnya, ada solusi.

Anda dapat secara eksplisit menyatakan kolom mana yang ingin Anda 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 Anda memiliki banyak data, tetapi melakukannya akan mengurangi masalah di masa depan, bersama dengan membuat SQL Anda lebih mudah dipahami oleh programmer masa depan.

Jika Anda ingin memilih bagian data tambahan, tetapi tidak disimpan di tabel mana pun, Anda dapat melakukannya seperti ini:

SELECT age, '1234' FROM people;

String apa pun di dalam tanda kutip tunggal akan dikembalikan alih-alih mencocokkan nama kolom.

2. Dimana?

Perintah pilih sangat bagus untuk mengambil data, tetapi bagaimana jika Anda ingin memfilter hasilnya sedikit lebih banyak? Bagaimana dengan mengambil hanya orang yang memiliki mata biru? Bagaimana dengan orang yang lahir di bulan Januari yang bekerja sebagai mekanik? Di sinilah di mana perintah masuk. Ini memungkinkan Anda untuk menerapkan kondisi ke pilih, dan Anda cukup menambahkannya ke akhir pernyataan:

SELECT age, name FROM people WHERE age > 10;

Kueri ini sekarang dibatasi untuk orang yang berusia lebih dari 10 tahun. Anda dapat menggabungkan beberapa kondisi menggunakan DAN operator:

SELECT age, name FROM people WHERE age > 10 AND age <20;

NS DAN perintah bekerja persis seperti dalam bahasa Inggris: itu menerapkan kondisi lain pada pernyataan itu. Dalam contoh ini, data yang dikembalikan akan berupa rekaman apa pun dengan usia antara 10 dan 20 tahun. Karena tidak ada hasil yang cocok, tidak ada data yang dikembalikan.

windows tidak dapat secara otomatis mendeteksi pengaturan proxy jaringan ini windows 10

Perintah lain yang dapat digunakan bersama dengan ini adalah ATAU . Berikut ini contohnya:

SELECT age, name FROM people WHERE age > 10 OR name = 'Joe';

Kueri ini mengembalikan rekaman dengan usia lebih dari 10, atau namanya sama dengan 'Joe'. Perhatikan bagaimana hanya ada satu tanda sama dengan? Sebagian besar bahasa pemrograman menggunakan persamaan ganda (==) untuk memeriksa kesetaraan. Ini tidak diperlukan untuk sebagian besar mesin basis data (tetapi bisa sangat per lingkungan, jadi periksa dulu).

3. Pesan

NS memesan perintah digunakan untuk mengurutkan hasil yang dikembalikan. Ini satu lagi yang mudah digunakan. Cukup tambahkan di akhir pernyataan Anda:

SELECT name, age FROM people ORDER BY age DESC;

Anda perlu menentukan kolom dan urutannya, yang dapat ASC untuk naik atau DESC untuk turun. Anda dapat memesan dengan beberapa kolom seperti ini:

SELECT name, age FROM people ORDER BY name ASC, age DESC

DIPESAN OLEH mungkin yang paling berguna bila dikombinasikan dengan perintah lain. Tidak semua kueri akan mengembalikan data dengan cara yang logis atau berurutan -- perintah ini memungkinkan Anda mengubahnya.

4. Gabung

NS Ikuti perintah digunakan untuk Ikuti data terkait disimpan dalam satu atau lebih tabel. Anda Ikuti tabel kedua ke tabel pertama, dan tentukan bagaimana data terhubung. Berikut ini contoh dasarnya:

cara membuat windows 7 instal usb
SELECT age, name, height FROM people LEFT JOIN heights USING (name);

Ada beberapa hal yang terjadi di sini. Anda harus mulai dengan sintaks 'LEFT JOIN', yang menentukan bahwa Anda ingin bergabung dengan tabel menggunakan gabungan tipe kiri. Selanjutnya, tentukan tabel yang ingin Anda gabung (ketinggian). NS MENGGUNAKAN (nama) sintaks menyatakan bahwa kolom 'nama' dapat ditemukan di kedua tabel, dan ini harus digunakan sebagai kunci untuk menggabungkan tabel.

Jangan khawatir jika kolom Anda memiliki nama yang berbeda di setiap tabel. Anda dapat menggunakan 'ON' alih-alih 'USING':

SELECT age, name, height FROM people LEFT JOIN heights ON (namea = nameb);

Pernyataan on secara eksplisit menyatakan kolom mana yang akan dikunci. Ada banyak jenis gabungan, dan akan membutuhkan waktu lama untuk membahas detailnya masing-masing, jadi inilah ringkasan singkat penggunaannya:

  • (BATIN) BERGABUNG -- Mengembalikan baris dengan kecocokan di kedua tabel.
  • KIRI (LUAR) GABUNG -- Mengembalikan semua baris dari tabel kiri, dengan kecocokan apa pun dari tabel kanan. Jika tidak ada kecocokan, catatan tabel kiri masih dikembalikan.
  • KANAN (LUAR) GABUNG -- Ini adalah kebalikan dari gabungan kiri: semua baris dari tabel kanan dikembalikan, bersama dengan kecocokan di tabel kiri.
  • LENGKAP (LUAR) BERGABUNG -- Mengembalikan catatan apa pun dengan kecocokan di salah satu tabel.

Sintaks 'INNER' atau 'OUTER' adalah opsional. Itu dapat membuat segalanya lebih mudah untuk dipahami, tetapi Anda tidak harus menentukannya untuk sebagian besar waktu.

5. Alias

Sekarang Anda tahu dasar-dasarnya, mari kita lihat alias memerintah. Ini digunakan untuk mengganti nama tabel untuk sementara -- lebih dari nama panggilan daripada yang lain, karena nama baru ini hanya ada di dalam transaksi individual yang Anda jalankan. Inilah cara Anda menggunakannya:

SELECT A.age FROM people A;

Anda dapat menggunakan nama valid apa pun yang Anda suka, tetapi saya suka menggunakan huruf alfabet. Sebelum setiap nama kolom, alias diawali. Alias ​​​​ini ditetapkan ke tabel segera setelah dideklarasikan. Ini persis sama dengan melakukan ini:

SELECT people.age FROM people;

Daripada harus mengetik nama tabel yang panjang, Anda bisa mengetikkan huruf yang sederhana dan mudah diingat -- tapi apa gunanya? Nah, jika Anda memilih dari lebih dari satu tabel, mudah untuk bingung tentang kolom mana yang termasuk dalam tabel mana. Jika kedua tabel Anda kebetulan memiliki kolom dengan nama yang sama, kueri database Anda bahkan mungkin 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;

Dan inilah kueri yang sama dengan alias:

SELECT A.age, A.name, B.age, B.name FROM staff A, customers B;

Tabel staf diberi nama alias 'A', dan tabel pelanggan diberi nama alias 'B'. Tabel alias benar-benar membantu membuat kode Anda lebih mudah dipahami, dan mengurangi jumlah pengetikan yang harus Anda lakukan.

Anda 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', bukan 'age'.

6. Serikat

Persatuan adalah perintah yang hebat. Ini memungkinkan Anda 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. Inilah cara Anda menggunakannya:

SELECT age, name FROM customers
UNION
SELECT age, name FROM staff;

Anda dapat menganggap penyatuan sebagai cara menggabungkan hasil dari dua kueri. Gabungan hanya akan mengembalikan hasil jika ada baris unik di antara dua kueri. Anda dapat menggunakan sintaks 'UNION ALL' untuk mengembalikan semua data, terlepas dari duplikatnya:

SELECT age, name FROM customers
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: Anda dapat menggabungkan kueri jumlah total ke kueri total individu untuk skenario tertentu.

7. Sisipkan

Anda sekarang tahu semua tentang mengambil data dari database, tetapi bagaimana dengan memasukkannya? Di sinilah memasukkan perintah masuk. Berikut ini contohnya:

INSERT INTO people(name, age) VALUES('Joe', 102);

Anda harus menentukan nama tabel (orang), dan kolom yang ingin Anda gunakan (nama dan usia). Sintaks 'VALUES' kemudian digunakan untuk memberikan nilai yang akan disisipkan. Ini harus dalam urutan yang sama dengan kolom yang telah ditentukan sebelumnya.

Anda tidak dapat menentukan klausa where untuk sisipan, dan Anda perlu memastikan bahwa Anda mengikuti batasan tabel yang diperlukan yang ada.

8. Perbarui

Setelah memasukkan beberapa data, wajar saja jika Anda perlu mengubah baris tertentu. ini dia memperbarui sintaks perintah:

UPDATE people SET name = 'Joe', age = 101;

Anda harus menentukan tabel yang ingin Anda ubah, dan kemudian menggunakan sintaks 'SET' untuk menentukan kolom dan nilai barunya. Contoh ini bagus, tetapi akan memperbarui setiap catatan -- sesuatu yang tidak selalu diinginkan!

Agar lebih spesifik, Anda dapat menggunakan klausa 'WHERE' seperti saat melakukan pemilihan:

UPDATE people SET name = 'Joe', age = 101 WHERE name = 'James';

Anda bahkan dapat menentukan beberapa ketentuan menggunakan 'DAN' dan 'ATAU':

UPDATE people SET name = 'Joe', age = 101 WHERE (name = 'James' AND age = 100) OR name = 'Ryan';

Perhatikan bagaimana tanda kurung digunakan untuk membatasi kondisi.

aplikasi edit video gratis untuk iphone

9. Bagian atas

Ups adalah kata yang terdengar aneh, tetapi itu adalah perintah yang sangat berguna. Katakanlah Anda memiliki batasan di tabel Anda, dan Anda telah menetapkan bahwa Anda hanya menginginkan catatan dengan nama unik -- Anda tidak ingin menyimpan dua baris dengan nama yang sama, misalnya. Jika Anda mencoba memasukkan beberapa nilai 'Joe', mesin basis data Anda akan membuat kesalahan dan menolak melakukannya (cukup tepat). Sebuah UPSERT memungkinkan Anda untuk memperbarui catatan jika sudah ada. Ini sangat berguna! Tanpa perintah ini, Anda harus menulis banyak logika 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

Menghapus digunakan untuk menghapus catatan seluruhnya -- ini bisa sangat merusak jika disalahgunakan! Sintaks dasar sangat mudah digunakan:

DELETE FROM people;

Seperti kebanyakan perintah lainnya, ini akan menghapus semuanya ! Anda perlu menggunakan tempat untuk membatasinya ke jumlah baris yang sedikit lebih waras -- idealnya satu:

DELETE FROM people WHERE name = 'Joe';

Jika Anda sedang mengembangkan sebuah sistem, sering kali bijaksana untuk menerapkan 'penghapusan lunak'. Anda tidak pernah benar-benar menjalankan perintah hapus, melainkan Anda membuat kolom yang dihapus, dan kemudian memeriksa kolom itu di pilihan Anda -- ini dapat menghindari banyak potensi rasa malu jika Anda dapat dengan cepat dan mudah mengambil kembali catatan yang seharusnya dihapus. Namun, ini bukan pengganti cadangan yang tepat.

11. Buat Tabel

NS buat tabel perintah yang digunakan untuk membuat tabel. Ini satu lagi yang sangat sederhana:

CREATE TABLE people (
name TEXT,
age, INTEGER,
PRIMARY KEY(name)
);

Perhatikan bagaimana nama kolom dan batasan berada di dalam tanda kurung, dan kolom diberi tipe data yang sesuai. Kunci utama ditentukan, seperti yang diperlukan dalam desain basis data yang baik.

12. Ubah Tabel

NS mengubah tabel Perintah yang digunakan untuk mengubah struktur tabel. Ini sedikit terbatas, karena database Anda tidak akan mengizinkan Anda 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 'height' dari tipe integer ke tabel people. Sebenarnya tidak ada batasan pada apa yang dapat Anda ubah.

13. Jatuhkan Meja

Perintah terakhir adalah meja jatuhkan . Anggap ini sebagai hapus, tetapi alih-alih menghapus satu catatan, ini menghapus setiap catatan bersama dengan tabel! Inilah cara Anda menggunakannya:

DROP TABLE people;

Ini adalah perintah yang cukup drastis, dan tidak ada alasan itu perlu diprogram ke dalam sistem Anda. Seharusnya hanya dilakukan secara manual di sebagian besar kasus, dan itu bisa sangat destruktif.

Itu saja untuk hari ini. Saya harap Anda mempelajari beberapa trik yang berguna! Anda bisa belajar caranya membuat situs web , dan kemudian gunakan keahlian baru Anda untuk membuatnya dinamis -- pastikan Anda tidak membuat kesalahan ini atau membiarkannya rentan terhadap injeksi SQL . Jika Anda tidak yakin perlu mempelajari SQL, apakah Anda sudah mempertimbangkan generator situs statis ?

Mengapa tidak meninggalkan komentar di bawah dengan tips dan trik SQL favorit Anda?

Kredit Gambar: HYS_NP/Shutterstock

Membagikan Membagikan Menciak Surel Apakah Layak Mengupgrade ke Windows 11?

Windows telah didesain ulang. Tetapi apakah itu cukup untuk meyakinkan Anda untuk beralih dari Windows 10 ke Windows 11?

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • Pemrograman
  • SQL
Tentang Penulis Joe Coburn(136 Artikel Diterbitkan)

Joe adalah lulusan Ilmu Komputer dari University of Lincoln, Inggris. Dia adalah pengembang perangkat lunak profesional, dan ketika dia tidak menerbangkan drone atau menulis musik, dia sering terlihat sedang mengambil foto atau membuat video.

More From Joe Coburn

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan