SQL - Create Table
Overview
Define columns, data types, and constraints. Below we create departments
and employees
with a foreign key.
CREATE TABLE departments (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(80) NOT NULL UNIQUE
);
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
department_id INT,
salary DECIMAL(10,2),
hired_at DATETIME,
CONSTRAINT fk_emp_dept FOREIGN KEY (department_id)
REFERENCES departments(id)
);
CREATE TABLE departments (
id INT IDENTITY(1,1) PRIMARY KEY,
name NVARCHAR(80) NOT NULL UNIQUE
);
CREATE TABLE employees (
id INT IDENTITY(1,1) PRIMARY KEY,
first_name NVARCHAR(50) NOT NULL,
department_id INT NULL,
salary DECIMAL(10,2) NULL,
hired_at DATETIME2 NULL,
CONSTRAINT fk_emp_dept FOREIGN KEY (department_id)
REFERENCES departments(id)
);
CREATE TABLE departments (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL UNIQUE
);
CREATE TABLE employees (
id INTEGER PRIMARY KEY AUTOINCREMENT,
first_name TEXT NOT NULL,
department_id INTEGER,
salary NUMERIC,
hired_at TEXT,
FOREIGN KEY (department_id) REFERENCES departments(id)
);
Best practice: name constraints (e.g., fk_emp_dept
) so errors are clearer.
Live Demo (temp table)
cid | name | type | notnull | dflt_value | pk |
---|---|---|---|---|---|
0 | id | INTEGER | 0 | 1 | |
1 | code | TEXT | 1 | 0 |