The DEFAULT constraint in SQL is used to assign a default value to a column when no value is provided during an INSERT operation. This ensures that the column always has a value, even if no explicit value is specified.
🎨 Pro Tip: Use the DEFAULT
constraint to provide a sensible default value for columns that are often left blank, like timestamps or status flags.
You can use the DEFAULT
constraint while creating a table to specify a default value for a column when no value is supplied.
Example: Create a products table where the default price is set to 100:
CREATE TABLE products ( product_id INT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10, 2) DEFAULT 100 );
In this example, if the price
is not specified during insertion, it will automatically be set to 100
.
When you insert data into a table with a DEFAULT
constraint, you can either specify a value for the column or let the default value be used automatically.
Example: Insert data into the products table:
INSERT INTO products (product_id, name) VALUES (1, 'Laptop');
In this example, the price
is not provided, so it will default to 100
. You can check the inserted data with a SELECT
query.
You can also use the DEFAULT
keyword in an UPDATE
statement to reset a column's value back to its default.
Example: Reset the price
to the default value for the product with product_id
= 1:
UPDATE products SET price = DEFAULT WHERE product_id = 1;
This statement will reset the price
of the product with product_id
1 back to its default value of 100
.
You can assign DEFAULT
values to multiple columns in the same table, making sure that each column has a valid default when no value is specified.
Example: Create a users table with default values for status
and last_login
:
CREATE TABLE users ( user_id INT PRIMARY KEY, username VARCHAR(100), status VARCHAR(20) DEFAULT 'active', last_login DATETIME DEFAULT CURRENT_TIMESTAMP );
In this example:
status
column defaults to 'active'
.last_login
column defaults to the current timestamp when a new row is inserted.DEFAULT
value, it will only be used if no value is provided. If a value is explicitly provided (including NULL
), that value will override the default.DEFAULT
for certain data types (like empty strings or zero for numeric columns) when no value is provided.
🛠️ Interactive Task: Try creating a table with a DEFAULT
value for a column, and then insert a row without specifying a value for that column. See the default in action!
Help others discover Technorank Learning by sharing your honest experience.
Your support inspires us to keep building!