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)

cidnametypenotnulldflt_valuepk
0idINTEGER01
1codeTEXT10