SQL CREATE TABLE Statement
Sure! Creating a table in SQL involves defining the structure of the table, including its columns and their data types. Here's a detailed explanation along with examples:
Basic Syntax
The basic syntax for creating a table in SQL is:
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...
);
- table_name: The name of the table.
- column1, column2, ...: The names of the columns in the table.
- datatype: The type of data the column can hold (e.g.,
INT
,VARCHAR
,DATE
, etc.). - constraints: Optional rules that can be applied to the data in the columns (e.g.,
PRIMARY KEY
,NOT NULL
,UNIQUE
, etc.).
Example 1: Creating a Simple Table
Let's create a table named employees
with four columns: id
, first_name
, last_name
, and hire_date
.
CREATE TABLE employees (
id INT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
hire_date DATE
);
In this example:
id
is an integer and is the primary key, meaning it uniquely identifies each row in the table.first_name
andlast_name
are variable character fields with a maximum length of 50 characters, and they cannot be null.hire_date
is a date field.
Example 2: Creating a Table with Constraints
Let's create a table named products
with some constraints.
CREATE TABLE products (
product_id INT PRIMARY KEY,
product_name VARCHAR(100) NOT NULL,
price DECIMAL(10, 2) CHECK (price > 0),
stock_quantity INT DEFAULT 0,
category_id INT,
FOREIGN KEY (category_id) REFERENCES categories(category_id)
);
In this example:
product_id
is an integer and the primary key.product_name
is a variable character field with a maximum length of 100 characters and cannot be null.price
is a decimal field with 10 digits in total, 2 of which are after the decimal point, and it must be greater than 0.stock_quantity
is an integer field with a default value of 0.category_id
is an integer field that references thecategory_id
column in thecategories
table (assuming thecategories
table exists).
Example 3: Creating a Table with Auto-Increment
Let's create a table named orders
where the order_id
column auto-increments.
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
order_date DATE NOT NULL,
customer_id INT,
total_amount DECIMAL(10, 2),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
In this example:
order_id
is an integer that auto-increments with each new row and is the primary key.order_date
is a date field and cannot be null.customer_id
is an integer field that references thecustomer_id
column in thecustomers
table (assuming thecustomers
table exists).total_amount
is a decimal field with 10 digits in total, 2 of which are after the decimal point.
These examples cover some of the common use cases and constraints you might encounter when creating tables in SQL.
At Online Learner, we're on a mission to ignite a passion for learning and empower individuals to reach their full potential. Founded by a team of dedicated educators and industry experts, our platform is designed to provide accessible and engaging educational resources for learners of all ages and backgrounds.
Terms Disclaimer About Us Contact Us
Copyright 2023-2025 © All rights reserved.