SQL - Default Constraint: A Beginner's Guide

Halo sana, para penggemar SQL yang bersemangat! Hari ini, kita akan masuk ke dunia yang menakjubkan dari SQL Default Constraints. Jangan khawatir jika Anda baru dalam dunia pemrograman – saya akan menjadi panduan ramah Anda dalam perjalanan ini, menjelaskan segala sesuatunya langkah demi langkah. Jadi, ambillah一杯kopi, dan mari kita mulai!

SQL - Default Constraint

The SQL DEFAULT Constraint

Bayangkan Anda mengisi sebuah formulir, dan ada kolom yang mengatakan "Country." Jika sebagian besar pengguna Anda berasal dari Amerika Serikat, tidakkah Anda senang jika "USA" sudah terisi sebelumnya? Itu tepat apa yang dilakukan constraint DEFAULT di SQL – itu menyediakan nilai default untuk sebuah kolom saat tidak ada nilai khusus yang disediakan.

How It Works

Saat Anda membuat sebuah tabel atau menambahkan kolom baru, Anda dapat menentukan nilai default. Nilai ini akan secara otomatis dimasukkan jika Anda tidak menyediakan nilai khusus saat menambahkan rekord baru.

mari kita lihat contoh:

CREATE TABLE Customers (
CustomerID int NOT NULL,
CustomerName varchar(255) NOT NULL,
ContactName varchar(255),
Country varchar(255) DEFAULT 'USA'
);

Dalam contoh ini, kita telah membuat tabel "Customers." Kolom "Country" memiliki constraint DEFAULT yang ditetapkan ke 'USA'. Ini berarti jika kita tidak menentukan negara saat menambahkan pelanggan baru, itu secara otomatis akan diatur ke 'USA'.

Inserting Data with DEFAULT

Sekarang, mari kita tambahkan beberapa pelanggan ke tabel kita:

INSERT INTO Customers (CustomerID, CustomerName, ContactName)
VALUES (1, 'John Doe', 'John');

INSERT INTO Customers (CustomerID, CustomerName, ContactName, Country)
VALUES (2, 'Jane Smith', 'Jane', 'Canada');

Setelah menjalankan pernyataan INSERT ini, tabel kita akan terlihat seperti ini:

CustomerID CustomerName ContactName Country
1 John Doe John USA
2 Jane Smith Jane Canada

Perhatikan bagaimana negara John Doe secara otomatis diatur ke 'USA', sedangkan negara Jane Smith secara eksplisit diatur ke 'Canada'.

Passing "DEFAULT" as Value

kadang-kadang, Anda mungkin ingin secara eksplisit menggunakan nilai default, bahkan jika Anda menentukan nilai untuk kolom lain. SQL mengijinkan Anda melakukan ini dengan menggunakan kata kunci DEFAULT.

INSERT INTO Customers (CustomerID, CustomerName, ContactName, Country)
VALUES (3, 'Bob Johnson', 'Bob', DEFAULT);

Ini akan memasukkan rekord baru dengan 'USA' sebagai Negara, sama seperti jika kita mengabaikan kolom Negara sepenuhnya.

Adding Default Constraint to an Existing Column

Apa bila Anda sudah membuat tabel Anda, tapi sekarang Anda ingin menambahkan constraint default? Tidak masalah! SQL sudah menyiapkan hal itu untuk Anda.

Syntax tepatnya mungkin sedikit berbeda tergantung sistem database Anda, tapi ini adalah contoh umum:

ALTER TABLE Customers
ALTER COLUMN Country SET DEFAULT 'USA';

Perintah ini mengubah tabel "Customers" yang sudah ada, menetapkan nilai default 'USA' untuk kolom "Country".

A Word of Caution

Ingat, menambahkan constraint default tidak mengubah data yang sudah ada. Itu hanya berlaku untuk rekord baru atau pembaruan. Jadi jika Anda memiliki nilai kosong di kolom Negara sebelumnya, mereka akan tetap kosong sampai Anda memperbarui mereka.

Dropping Default Constraint

Seperti halnya kita dapat menambahkan constraint default, kita juga dapat menghapusnya. Ini disebut "dropping" constraint.

Lagi, syntax tepatnya mungkin berbeda, tapi ini adalah contoh umum:

ALTER TABLE Customers
ALTER COLUMN Country DROP DEFAULT;

Perintah ini menghapus constraint default dari kolom "Country" di tabel "Customers".

When to Drop a Default Constraint

Anda mungkin ingin menghapus constraint default jika:

  1. Nilai default itu sudah tidak relevan
  2. Anda ingin menegakkan pengisian manual untuk kolom itu
  3. Anda berencana menghapus kolom sepenuhnya

Practical Uses of DEFAULT Constraints

Constraint DEFAULT sangat berguna dalam banyak konteks dunia nyata. Berikut adalah beberapa contoh:

  1. Timestamps: Anda dapat menggunakan DEFAULT untuk secara otomatis mencatat waktu saat rekord dimasukkan.
CREATE TABLE Orders (
OrderID int NOT NULL,
ProductName varchar(255) NOT NULL,
OrderDate datetime DEFAULT CURRENT_TIMESTAMP
);
  1. Status Flags: Untuk kolom yang mewakili status atau keadaan, Anda dapat menetapkan keadaan awal default.
CREATE TABLE Tasks (
TaskID int NOT NULL,
TaskName varchar(255) NOT NULL,
IsCompleted bit DEFAULT 0
);
  1. Configuration Settings: Saat menyimpan preferensi pengguna, Anda dapat menetapkan nilai default yang masuk akal.
CREATE TABLE UserSettings (
UserID int NOT NULL,
Theme varchar(50) DEFAULT 'Light',
NotificationsEnabled bit DEFAULT 1
);

Conclusion

Dan itu dia, teman-teman! Kita telah melakukan perjalanan melalui negeri SQL DEFAULT constraints. Kita telah melihat bagaimana membuatnya, menggunakannya, menambahkannya ke kolom yang sudah ada, dan bahkan menghapusnya saat mereka tidak lagi diperlukan.

Ingat, constraint DEFAULT adalah seperti para elf kecil yang membantu di database Anda, mengisi ruang kosong saat Anda lupa atau tidak memiliki informasi di tangan. Mereka dapat menghemat waktu Anda, mengurangi kesalahan, dan membuat data Anda lebih konsisten.

Saat Anda terus melanjutkan perjalanan SQL Anda, Anda akan menemukan banyak penggunaan lain untuk constraint DEFAULT. Mereka adalah alat sederhana tapi kuat dalam peralatan SQL Anda. Jadi, maju saja dan constraint saja! Selamat coding!

Credits: Image by storyset