• Google, Twitter, dan Meta semuanya menggunakan basis data relasional untuk menyimpan informasi mereka dalam skala besar. 
  • Basis data relasional menyimpan data dalam bentuk baris dan kolom dalam struktur yang disebut tabel.
  • SQL (Structured Query Language) memungkinkan tiga kelompok perintah:
  1. Perintah Data Manipulation Language (DML): Perintah-perintah ini digunakan untuk memanipulasi data yang disimpan dalam basis data. Perintah-perintah DML utama adalah:
    SELECT: Digunakan untuk mengambil data dari satu atau lebih tabel.
    INSERT: Digunakan untuk memasukkan catatan baru ke dalam sebuah tabel.
    UPDATE: Digunakan untuk mengubah catatan yang sudah ada dalam sebuah tabel.
    DELETE: Digunakan untuk menghapus catatan dari sebuah tabel.
  2. Perintah Data Definition Language (DDL): Perintah-perintah ini digunakan untuk mendefinisikan, mengubah, dan mengelola struktur dari objek-objek basis data. Perintah-perintah DDL utama adalah:
    CREATE: Digunakan untuk membuat objek-objek basis data baru seperti tabel, indeks, atau tampilan (view).
    ALTER: Digunakan untuk mengubah struktur dari objek-objek basis data yang sudah ada.
    DROP: Digunakan untuk menghapus objek-objek basis data.
    TRUNCATE: Digunakan untuk menghapus semua catatan dari sebuah tabel tetapi tetap menjaga struktur tabel tersebut.
  3. Perintah Data Control Language (DCL): Perintah-perintah ini digunakan untuk mengendalikan akses dan izin pada objek-objek basis data. Perintah-perintah DCL utama adalah:
    GRANT: Digunakan untuk memberikan hak istimewa tertentu kepada pengguna basis data.
    REVOKE: Digunakan untuk mencabut hak istimewa tertentu dari pengguna basis data.
  • Keempat operasi dalam SQL ini biasanya disebut CRUD (Create, Read, Update, Delete):

  • Anda bisa login ke https://cs50.dev/ dengan menggunakan akun github Anda, dan mencoba praktik menggunakan SQL
  1. Ketik perintah sqlite3 favorites.db di terminal. Perintah ini akan membuat sebuah database bernama favorites.db
  2. Anda dapat mengamati bahwa prompt di terminal berubah menjadi sqlite3
  3. Kita dapat mengubah mode sqlite3 menjadi mode csv dengan perintah .mode csv. Lalu, kita dapat mengimpor data dari file csv yang ada di resource dengan perintah .import favorites.csv favorites.
  4. Kita dapat menggunakan perintah .schema untuk melihat struktur dari database-nya

  5. Matikan mode csv dengan perintah .mode box di terminal
  6. Anda dapat membaca items dari suatu tabel, dengan menggunakan syntax SELECT columns FROM table
  7. Sebagai contoh, Anda dapat mengetikkan perintah SELECT * FROM favorites; yang akan melakukan pembacaan setiap baris (row) dari tabel favorites

  8. Anda dapat mendapatkan satu kolom (subset) data dengan menggunakan perintah SELECT language FROM favorites;. Perintah tersebut akan menampilkan data dari kolom language

  9. SQL mendukung berbagai perintah untuk mengakses data, termasuk:

  10. Sebagai contoh, Anda dapat mengetikkan SELECT COUNT(language) FROM favorites; untuk menghitung jumlah data di kolom language. Selanjutnya, Anda dapat mengetikkan SELECT DISTINCT(language) FROM favorites; untuk mendapatkan data dari kolom language dengan tidak mengikutsertakan data yang berulang. Anda bahkan bisa mengetikkan SELECT COUNT(DISTINCT(language)) FROM favorites; untuk mendapatkan hitungan dari jumlah data yang ada di kolom language.

  11. SQL memiliki beberapa perintah tambahan yang dapat digunakan:
      WHERE       -- menambahkan filter kondisi pada data
      LIKE        -- menambahkan filter pencarian pada data
      ORDER BY    -- mengurutkan data
      LIMIT       -- membatasi jumlah data yang ditampilkan
      GROUP BY    -- mengelompokkan data
  12. Kita dapat menggunakan -- untuk memberi komentar pada SQL
  13. Sebagai contoh, kita bisa menggunakan perintah berikut untuk menghitung banyak data di kolom language yang memiliki huruf awalan 'C':

  14. Perintah berikut akan menghitung banyak data dalam kolom language dan mengelompokkannya berdasarkan language:

  15. Perintah berikut akan mengurutkan hasil hitungan banyak data dari kecil ke besar, dikelompokkan berdasarkan language:

  16. Kita dapat menambahkan data ke dalam tabel dengan menggunakan syntax INSERT INTO table (column...) VALUES(value, ...);

  17. Kita juga dapat menggunakan klausa UPDATE untuk mengubah data. Misal, perintah berikut akan mengubah seluruh data yang memiliki language = C menjadi C++


  18. Perhatikan bahwa perintah-perintah dalam SQL bersifat permanen!! Maka berhati-hatilah dalam melakukan eksekusi.
  19. Perintah DELETE memungkinkan Anda untuk menghapus data tertentu. Contoh, perintah berikut akan menghapus seluruh data yang memiliki problem = 'Tideman'

Last modified: Tuesday, 20 August 2024, 2:09 PM