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 |