Structured Query Language (SQL) adalah salah satu blok bangunan fundamental dari arsitektur database modern. SQL mendefinisikan metode yang digunakan untuk membuat dan memanipulasi database relasional pada semua platform utama. Sepintas, bahasanya mungkin tampak menakutkan dan rumit, tetapi tidak terlalu sulit.
Tentang SQL
Pengucapan SQL yang benar adalah masalah yang diperdebatkan dalam komunitas basis data. Dalam standar SQL-nya, American National Standards Institute menyatakan bahwa pengucapan resminya adalah "es queue " el." Namun, banyak profesional database telah menggunakan pengucapan slang "sekuel." Sama seperti pengucapan dari GIF, tidak ada jawaban yang benar.
SQL datang dalam banyak rasa. Database Oracle menggunakan PL/SQL miliknya. Microsoft SQL Server menggunakan Transact-SQL. Semua variasi didasarkan pada standar industri ANSI SQL.
Pengenalan ini menggunakan perintah SQL yang sesuai dengan ANSI yang bekerja pada sistem database relasional modern apa pun.
DDL dan DML
Perintah SQL dapat dibagi menjadi dua sub-bahasa utama. Data Definition Language berisi perintah yang digunakan untuk membuat dan menghancurkan database dan objek database. Setelah struktur basis data didefinisikan dengan DDL, administrator basis data dan pengguna dapat menggunakan Bahasa Manipulasi Data untuk menyisipkan, mengambil, dan memodifikasi data yang ada di dalamnya.
SQL mendukung jenis sintaks ketiga yang disebut Bahasa Kontrol Data. DCL mengatur akses keamanan ke objek dalam database. Misalnya, skrip DCL memberikan atau mencabut hak akun pengguna tertentu untuk membaca atau menulis ke tabel dalam satu atau lebih area database yang ditentukan. Di sebagian besar lingkungan multi-pengguna terkelola, administrator basis data biasanya menjalankan skrip DCL.
Perintah Bahasa Definisi Data
Bahasa Definisi Data digunakan untuk membuat dan menghancurkan database dan objek database. Perintah ini terutama digunakan oleh administrator database selama fase penyiapan dan penghapusan proyek database. DDL berkisar pada empat perintah utama—membuat, menggunakan, mengubah, dan penurunan.
Membuat
Itu membuat perintah membuat database, tabel, atau kueri di platform Anda. Misalnya, perintah:
BUAT DATABASE karyawan;
membuat database kosong bernama para karyawan pada DBMS Anda. Setelah membuat database, langkah selanjutnya adalah membuat tabel yang berisi data. Varian lain dari membuat perintah mencapai tujuan ini. Perintah:
CREATE TABLE personal_info (first_name char (20) bukan null, last_name char (20) bukan null, employee_id int bukan null);
membuat tabel berjudul informasi pribadi dalam database saat ini. Dalam contoh, tabel berisi tiga atribut: nama depan, nama keluarga, dan identitas pegawai bersama dengan beberapa informasi tambahan.
Menggunakan
Itu menggunakan perintah menentukan database aktif. Misalnya, jika Anda sedang bekerja di database penjualan dan ingin mengeluarkan beberapa perintah yang akan mempengaruhi database karyawan, awali dengan perintah SQL berikut:
GUNAKAN karyawan;
Periksa kembali database tempat Anda bekerja sebelum mengeluarkan perintah SQL yang memanipulasi data.
Mengubah
Setelah Anda membuat tabel dalam database, ubah definisinya melalui through mengubah perintah, yang mengubah struktur tabel tanpa menghapus dan membuatnya kembali. Perhatikan perintah berikut:
ALTER TABLE personal_info ADD uang gaji null;
Contoh ini menambahkan atribut baru ke tabel personal_info—gaji karyawan. Itu uang argumen menentukan bahwa toko gaji karyawan menggunakan format dolar dan sen. Akhirnya, batal kata kunci memberi tahu database bahwa boleh saja bidang ini tidak berisi nilai untuk karyawan tertentu.
Penurunan
Perintah terakhir dari Data Definition Language, penurunan, menghapus seluruh objek database dari DBMS kami. Misalnya, untuk menghapus tabel personal_info yang kita buat secara permanen, gunakan perintah berikut:
DROP TABLE personal_info;
Demikian pula, perintah di bawah ini akan digunakan untuk menghapus seluruh database karyawan:
DROP DATABASE karyawan;
Gunakan perintah ini dengan hati-hati. Itu penurunan perintah menghapus seluruh struktur data dari database Anda. Jika Anda ingin menghapus catatan individual, gunakan menghapus perintah Bahasa Manipulasi Data.
Perintah Bahasa Manipulasi Data
Bahasa Manipulasi Data digunakan untuk mengambil, menyisipkan, dan mengubah informasi basis data. Perintah DML ini menawarkan kerangka kerja khas untuk berinteraksi dengan database secara rutin.
Memasukkan
Itu memasukkan perintah menambahkan catatan ke tabel yang ada. Kembali ke contoh personal_info dari bagian sebelumnya, bayangkan departemen SDM kita perlu menambahkan karyawan baru ke databasenya. Gunakan perintah yang mirip dengan yang ini:
INSERT INTO personal_info
nilai('bart','simpson',12345,$45000);
Perhatikan bahwa ada empat nilai yang ditentukan untuk catatan. Ini sesuai dengan atribut tabel dalam urutan yang ditentukan: nama depan, nama keluarga, identitas pegawai dan gaji.
Pilih
Itu Pilih perintah adalah perintah yang paling umum digunakan dalam SQL. Ini mengambil informasi spesifik dari database operasional. Lihatlah beberapa contoh, sekali lagi menggunakan tabel personal_info dari database karyawan.
Perintah yang ditunjukkan di bawah ini mengambil semua informasi yang terkandung dalam tabel personal_info. Tanda bintang adalah karakter wildcard dalam SQL.
PILIH *
DARI personal_info;
Atau, batasi atribut yang diambil dari database dengan menentukan apa akan dipilih. Misalnya, departemen Sumber Daya Manusia mungkin memerlukan daftar nama belakang semua karyawan di perusahaan. Perintah SQL berikut hanya akan mengambil informasi itu:
PILIH nama_belakang
DARI personal_info;
Itu dimana klausa membatasi catatan yang diambil untuk orang-orang yang memenuhi kriteria yang ditentukan. CEO mungkin tertarik untuk meninjau catatan personalia dari semua karyawan yang dibayar tinggi. Perintah berikut mengambil semua data yang terkandung dalam personal_info untuk catatan yang memiliki nilai gaji lebih besar dari $50.000:
PILIH *
DARI personal_info
DIMANA gaji > $50000;
Memperbarui
Itu memperbarui perintah memodifikasi informasi yang terkandung dalam tabel, baik secara massal atau individual. Asumsikan perusahaan memberi semua karyawan kenaikan biaya hidup sebesar 3 persen dalam gaji mereka setiap tahun. Perintah SQL berikut menerapkan benjolan ini ke semua karyawan yang disimpan dalam database:
UPDATE info_pribadi
SET gaji = gaji * 1,03;
Ketika karyawan baru Bart Simpson menunjukkan kinerja di atas dan di luar panggilan tugas, manajemen ingin mengakui pencapaiannya yang luar biasa dengan kenaikan gaji sebesar $5.000. Klausa WHERE memilih Bart untuk kenaikan gaji ini:
UPDATE info_pribadi
SET gaji = gaji + 5000
WHERE employee_id = 12345;
Menghapus
Akhirnya, mari kita lihat menghapus perintah. Anda akan menemukan bahwa sintaks perintah ini mirip dengan perintah DML lainnya. Perintah DELETE, dengan a dimana klausa, hapus catatan dari tabel:
HAPUS DARI personal_info
WHERE employee_id = 12345;
DML juga mendukung bidang agregat. Di sebuah Pilih pernyataan, operator matematika seperti jumlah dan menghitung meringkas data dalam kueri. Misalnya, kueri:
pilih count(*) dari personal_info;
menghitung jumlah record dalam tabel.
Gabungan Basis Data
SEBUAH Ikuti pernyataan menggabungkan data dalam beberapa tabel untuk secara efisien memproses data dalam jumlah besar. Pernyataan-pernyataan ini adalah di mana kekuatan sebenarnya dari database berada.
Untuk mengeksplorasi penggunaan basic Ikuti operasi untuk menggabungkan data dari dua tabel, lanjutkan dengan contoh menggunakan tabel personal_info dan tambahkan tabel tambahan ke dalam campuran. Asumsikan Anda memiliki tabel bernama disiplin_tindakan yang dibuat dengan pernyataan berikut:
CREATE TABLE disciplinary_action (action_id int bukan null, employee_id int bukan null, komentar char (500));
Tabel ini berisi hasil tindakan disiplin bagi karyawan perusahaan. Itu tidak berisi informasi apa pun tentang karyawan selain nomor karyawan.
Asumsikan Anda telah ditugaskan untuk membuat laporan yang mencantumkan tindakan disipliner yang diambil terhadap semua karyawan dengan gaji lebih dari $40.000. Penggunaan operasi JOIN, dalam hal ini, sangat mudah. Ambil informasi ini menggunakan perintah berikut:
PILIH personal_info.first_name, personal_info.last_name, disciplinary_action.comments
DARI personal_info INNER GABUNG disciplinary_action ON personal_info.employee_id = disciplinary_action.employee_id
DIMANA personal_info.salary > 40000;
Jenis Gabung
Bergabung datang dalam beberapa rasa. Dalam pernyataan SQL, tabel pertama (biasanya disebut Tabel A atau Meja Kiri) bergabung dengan tabel kedua (biasanya disebut Tabel B atau Meja Kanan) dengan cara sadar posisi. Jadi, jika Anda mengubah urutan tabel dalam pernyataan gabungan, hasil operasi akan berbeda. Jenis gabungan utama meliputi:
- Gabungan Batin: Hanya cocok dengan catatan di mana di kondisi cocok dengan catatan yang sama di kedua tabel.
- Gabung Luar: Hanya cocok dengan catatan dari kedua tabel yang mengecualikan hasil yang diidentifikasi dalam di kondisi.
- Gabung Kanan: Mencocokkan semua record dari Tabel B ditambah record dari Tabel A yang cocok dengan di kondisi.
- Gabung Kiri: Mencocokkan semua record dari Tabel A ditambah record dari Tabel B yang cocok dengan di kondisi.
- Gabung Salib: Mencocokkan semua record seolah-olah tabelnya identik. Proses ini menghasilkan sesuatu yang disebut produk kartesius. Seringkali, cross-join tidak disukai, karena mereka cocok dengan setiap baris Tabel A, secara individual, dengan setiap baris Tabel B. Jadi, jika Tabel A menawarkan lima record, dan Tabel B menawarkan 9 record, query cross-join menawarkan 45 baris yang dihasilkan.