SQL โ€“ Data Definition Language (DDL)

image

1. ๐Ÿ“Œ Pengertian SQL dan DDL

SQL (Structured Query Language) adalah bahasa standar untuk mengelola basis data.

DDL (Data Definition Language) adalah bagian dari SQL yang digunakan untuk:

  • Membuat struktur database
  • Mengubah struktur database
  • Menghapus struktur database

2. ๐ŸŽฏ Fungsi DDL

  • Membuat database dan tabel
  • Mengatur struktur tabel
  • Menentukan tipe data
  • Mengelola constraint (primary key, foreign key, dll)

3. ๐Ÿงฉ Perintah Utama DDL

PerintahFungsi
CREATEMembuat objek database
ALTERMengubah struktur
DROPMenghapus
TRUNCATEMenghapus isi tabel

4. ๐Ÿงฑ Struktur Database

https://images.openai.com/static-rsc-4/aX_HLqxbaIx3W_xWg_UoG-aEkeA_jBbPYiKGrmzhT3EqhFoIUtGxCVolRyVpbHH9C4iNugPsvibvFBXWUcpbLTUWy_iKgnAeXW6Rd1Zbn-dOuRu6ZG8fYK_MXDIoLzZHvrqgE91aOOn-6SQDKnMYAE4ftXjlqQXrvkO7I5f_Cqh632Xg5aRlNZ-yBDf96Lv3?purpose=fullsize
https://images.openai.com/static-rsc-4/F8Nu69HtoxxvcZOMmvj_CKHOLA9UIF9ex2fzdzGs3U4Tzq2KnB6RjU8po_yUedYPUKnGzuAWSGJpTO3y0WkXOZ_93eXxmZ2hw5LlXwHd4FkkEuMO4JD_85USMUFW7YeyCorQZBOIEPzTVzVZfH_NQf9qpbCXMKRNeS2_i6QdI2PmmImyLPoPzY9geLyMmC7C?purpose=fullsize
https://images.openai.com/static-rsc-4/I9An5704u9J_sRtGPnKo3ZlC2CyKtEaApLpOcWcVRzskSdypgKgmpWUytuRZ7mW9OWX9AOoQE0Bip0_QlVCYrBm7b5PO_e8LLbOp9zLIGofZmycTPmCAEOkS7yYnd7YxPNosDvlnMUUeEIfUSh_wOwuW00wVKVTbCatjXWPWBm57PS6dvkluva7EBq9YpHmm?purpose=fullsize

7


5. ๐Ÿ› ๏ธ Perintah CREATE


5.1 ๐Ÿ“Œ CREATE DATABASE

CREATE DATABASE kampus;

5.2 ๐Ÿ“Œ CREATE TABLE

CREATE TABLE mahasiswa (
nim VARCHAR(10) PRIMARY KEY,
nama VARCHAR(100),
jurusan VARCHAR(50)
);

๐Ÿ“Œ Penjelasan:

  • VARCHAR โ†’ tipe data teks
  • PRIMARY KEY โ†’ kunci utama

6. ๐Ÿงฑ Tipe Data dalam MySQL

https://images.openai.com/static-rsc-4/3eGFofjk-6m5l8tfPtql23AQ8jvm1dZurHdtNI2e99qgjz7JAEBYsFs0f3qbEhZVERu5YNLCV5W3Mq8-Xd2Wfy5WEs2Qxmm6tMV6zZaDgC7FMhGMcByuRgeo1gQ4dyUWaZlUtsyceqZPCWgAwGvHSSqdT-ColNR02Y63zm5Sa7qkTs9HvnRsma20GJ9n2Fpw?purpose=fullsize
https://images.openai.com/static-rsc-4/dPNBEmhCAS8l_-oP28z3OKv87BvkGV7N7ESjqCDQNITofnZh8Gohg4HB23UrFya_3kpwcgA-SquM4s-X4y-009pAgiD_Wc_Yg54kzvfKnwRPhO7URDucRivX2uDmFtRLdTdCcokyLrMpecLCXqgkFiU33KjejL5p_OhMQMRQ5KKIMsEwYPiXzuwrbbPrVIAD?purpose=fullsize
https://images.openai.com/static-rsc-4/TOl3He_SUoOAoTLUljoHwUXigbtaR2WLkfWsBg3DJhzKxpXETKPCq2ftwtglYNJBJwYCamfxbGiTviMZfV3gbfvU0elWw-HXmyOhWquEtkp9efKb9Tu6D5X6yGFcMsDSs_ksAw4dHPADZDkStgqPEWMq-Lh96JPE660xcAsWpCwzS8j-FSbqq7hvEirIMlQo?purpose=fullsize

6

๐Ÿ“Œ Contoh:

  • INT โ†’ angka
  • VARCHAR โ†’ teks
  • DATE โ†’ tanggal
  • TEXT โ†’ teks panjang

7. ๐Ÿ”ง Constraint (Aturan Data)

https://images.openai.com/static-rsc-4/WN9UDQIBkdSm3ae2XIAs8cdD87aq5roaZ6Y61YfzR4LRZaSYWOCLGNhDnXj6OEyWBxlDzAxHWg-b073Z1XBwJImo75ZwzEmQPJniieB8XLicafMj9ErzBpqvKZe4DRll47soDC2I44sExmRHyE5PKpm0cjH4gNcJkW0PhpXyyj0Day0vqJGBTwLLPwSiHapS?purpose=fullsize
https://images.openai.com/static-rsc-4/maRCkvE6onqP3V5mrBp0PW7vAoJvMngsEjlGqAFGzB-wKwBXKQQC6laCa0TwJJe16qbIZNl1I4S1cu9uZ85UN0gdGQFXEu-VSWcQfWLPFtI1A9s-uggSHAjthWD39gh6Vs-TvKLhVQyAyYJDElh39Df9MqYWCI8_kuHm--OS6DmfqREvuQcUbb5SzTo-oW23?purpose=fullsize
https://images.openai.com/static-rsc-4/AsYssYF8wJvvvCVxkRl1v5YDpXiIp_L8yJVRDTMo5D3dZpv6NozfEpYdMe0nH_JCb93CRNf9oZeBrl6Zra62pvwVDIXi4scHkscZCQPPoTb_MpcdEl2hHyRj4aBngp_9UyL3XRGOKeZN_QNk-mBzfk2ZfAKN79Kk-GjsxC3R0cBlsPepZcvDMvHeq1orxwad?purpose=fullsize

8

๐Ÿ“Œ Jenis:

  • PRIMARY KEY
  • FOREIGN KEY
  • NOT NULL
  • UNIQUE

๐Ÿ“Œ Contoh:

CREATE TABLE dosen (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE
);

8. ๐Ÿ”„ Perintah ALTER

https://images.openai.com/static-rsc-4/y44hbSvG8_YQM5DrTNiQt0ahUxpKLrCwyt8R8l2GtkdA5BskuqWvlPymozbpXkAcsx1QlhLdJ09-8sLTWfg5HKUZCpIQnvXjg3xuVRWADQmeYBBmhKxUO-LFmKQ0rIzfTLauC3CEQfAOGnx0vKye7pc3iewmvEwvhgymzKlExbthIydr-DwY9N8vAyU1WHcI?purpose=fullsize
https://images.openai.com/static-rsc-4/pCCDCOnuqiIys_xOjuhFne-ElgOi4Rza_YybmxMbDJN4F3kVdsihsVZ64pDtT8nz617mqCMHigfUYwOuHpzSHSlAkWE5HhnGsyn4i48CVv9BVl-5s5JpCGzq6KgJ6faRKgGp_su5ByNb6YtMpHXOlbykF4LgS_4rO5XbLA_rF0nnz0gKKdrX7q_hY6DleY_u?purpose=fullsize
https://images.openai.com/static-rsc-4/rYl_cO5Dc06nb8nzBW8BIp4Ra3D7_QBOS06oZHhyBpzqQW8n2bSCCeceGyz7Z-5PhtgJZY9kkAOKzDoBFyeJHBnUqUINVtZCZwTdO1W_EeucfE00kYrpOeZg6oQbf0OICgvVBLm3lOwM5i8RqsrO_RDcDLQQC23acgcXsiAQglM_OrX6AP7FDDQVbGsxZmNw?purpose=fullsize

6

๐Ÿ“Œ Tambah Kolom:

ALTER TABLE mahasiswa ADD alamat TEXT;

๐Ÿ“Œ Ubah Kolom:

ALTER TABLE mahasiswa MODIFY nama VARCHAR(150);

๐Ÿ“Œ Hapus Kolom:

ALTER TABLE mahasiswa DROP alamat;

9. โŒ Perintah DROP

DROP TABLE mahasiswa;

๐Ÿ“Œ Fungsi:

Menghapus tabel beserta strukturnya


10. โšก Perintah TRUNCATE

TRUNCATE TABLE mahasiswa;

๐Ÿ“Œ Fungsi:

Menghapus semua data tanpa menghapus struktur tabel


11. ๐Ÿ”„ Alur DDL dalam Database

https://images.openai.com/static-rsc-4/6nz7QCK2cawXX0d0KLjPvEDtUuiBkS57t46onKEXtiawzpss1CzLZG_vFdysX-xbCibvvOI9X-7zAA4rzyqQDN4tFBAfBCCcXS6dht9XyNybBpgcgYjD-BOGVQhF1sgh010wOjOS3IvC7-YhX83EwRaQ-lvR9I4yCnqwJHkCCGer5Qdx0X4gVDgSFP5NpN9h?purpose=fullsize
https://images.openai.com/static-rsc-4/aFumVkfG3HNxDX5Q57IN5GhtljK6GBJXeICCg8zY-19lCoT_-f4phkzNg2ZvBRpzTRhXZ2bPPlml0W7DHgQkO5Qkou3box4wn8opsl1JnFk0Hl9IH0DdZW10BpGxqDi8f4owIOmf8-WaEa31y0ICg39k6SFgvugKpZveP5iDFZPnv9EA-pCBBWx-4MvW7uxt?purpose=fullsize
https://images.openai.com/static-rsc-4/0r8ChWhcbyJpacf1ItVpjKH3tu7F6jmU1M9S1qdYe1N9xYo-gD1JJHiV710vApWiRwwW0mRcO0jF9uvgankdFyN3l6FaCEij1AqzhgJNGpWFXdcLwB73vZo-zoOWeBDofUpiMZU5dXbmwiKEEfqgbVbSVJ9pf4WmGseyS_9NgpNQTIYfktyvMTxlLuY6EUEp?purpose=fullsize

7


12. ๐Ÿ’ป Contoh Implementasi MySQL

CREATE DATABASE sekolah;
USE sekolah;CREATE TABLE siswa (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
kelas VARCHAR(10)
);

13. ๐ŸŒ Integrasi PHP + MySQL (DDL)

<?php
$conn = mysqli_connect("localhost","root","","sekolah");$sql = "CREATE TABLE guru (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100)
)";if(mysqli_query($conn, $sql)){
echo "Tabel berhasil dibuat";
}else{
echo "Error: " . mysqli_error($conn);
}
?>

14. ๐Ÿงช Latihan Sederhana

๐ŸŽฏ Latihan 1:

Buat database:

  • perpustakaan

๐ŸŽฏ Latihan 2:

Buat tabel:

  • Buku (id, judul, pengarang)

๐ŸŽฏ Latihan 3:

Tambahkan kolom:

  • tahun_terbit

15. ๐Ÿ“ Tugas Praktikum


๐ŸŽฏ Tugas: Sistem Akademik

https://images.openai.com/static-rsc-4/jw-nyX9-mH8DdTxCeYudvpRkXLtOhYlv8S-pVCWTv8PjMNbPymw3VvOakFK5VU4-wSO72fBh3Fukequy1DnNuH455UcPX-zp1ODJ3g8YZ-hhdL1Q2PlJyOdYbELKizh8qUGvqSEUBn_WgnwY6wFCZiDm52Pvmy53P1QKnld3N4cCfr7Yme0z3cO5EB7dM6S_?purpose=fullsize
https://images.openai.com/static-rsc-4/I3cGctL_QfEGdA7X_f8-nMEfoKF8QsDKXsPRGMqgzEAdELFFlFOzxA0_lADP62DrLVsQsRqhyJMzKS1uxmgPX5NDLFyMG0YRDGk74OX_QOTNZEYbARaEM72Hr2Trx47397oNlHuQDFqC4ZkJ3o5pQIr_a_q5Ly2QyaBHCrgE0llVH1xjtnYNaVEdRyNpoo96?purpose=fullsize
https://images.openai.com/static-rsc-4/wzs3yYZXgvVm5pbp-xQ6Pg7IToySRsCZLJru-1j9RRnsDZDpYd5hJ46trgv1MTOdYdt4fPwk7QvcxiwGYVADS2zqXqOdDqw6mIzmq4UmO3dEe9uZgM7xsmi7giadQhvMAAFa-64v-W4b6NPwT2EztEaHu6hq5h1DfdNICrFGDP-TnvMULotlJsO3_9L5XmSG?purpose=fullsize

6

๐Ÿ“Œ Ketentuan:

  1. Buat database akademik
  2. Buat tabel:
    • Mahasiswa
    • Dosen
    • MataKuliah
  3. Gunakan:
    • PRIMARY KEY
    • FOREIGN KEY

๐Ÿ“Œ Contoh:

CREATE TABLE matakuliah (
kode_mk VARCHAR(10) PRIMARY KEY,
nama_mk VARCHAR(100)
);CREATE TABLE krs (
nim VARCHAR(10),
kode_mk VARCHAR(10),
FOREIGN KEY (nim) REFERENCES mahasiswa(nim),
FOREIGN KEY (kode_mk) REFERENCES matakuliah(kode_mk)
);

16. ๐ŸŽฏ Kesimpulan

  • DDL digunakan untuk mengatur struktur database
  • Perintah utama: CREATE, ALTER, DROP, TRUNCATE
  • DDL sangat penting dalam tahap awal perancangan database

17. ๐Ÿ“š Diskusi

  1. Apa perbedaan DROP dan TRUNCATE?
  2. Apa fungsi ALTER?
  3. Mengapa PRIMARY KEY penting?
  4. Apa itu FOREIGN KEY?