Skip to main content

Databases & Tables

Database Operations

-- Create a database
CREATE DATABASE my_database;

-- Use a database
USE my_database;

-- Drop a database
DROP DATABASE my_database;

-- Show all databases
SHOW DATABASES;

Creating Tables

CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) UNIQUE,
age INT,
salary DECIMAL(10, 2),
hire_date DATE DEFAULT CURRENT_DATE,
department_id INT
);

Common Data Types

TypeDescriptionExample
INTInteger42
VARCHAR(n)Variable-length string'hello'
TEXTLong textLarge paragraphs
DECIMAL(p,s)Exact numeric99.99
DATEDate'2025-01-15'
DATETIMEDate and time'2025-01-15 10:30:00'
BOOLEANTrue/FalseTRUE / FALSE

Altering Tables

-- Add a column
ALTER TABLE employees ADD COLUMN phone VARCHAR(20);

-- Modify a column
ALTER TABLE employees MODIFY COLUMN name VARCHAR(150);

-- Drop a column
ALTER TABLE employees DROP COLUMN phone;

-- Rename a table
ALTER TABLE employees RENAME TO staff;

Constraints

CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
product_name VARCHAR(100) NOT NULL,
quantity INT CHECK (quantity > 0),
customer_email VARCHAR(255),
employee_id INT,
UNIQUE (product_name, customer_email),
FOREIGN KEY (employee_id) REFERENCES employees(id)
);
ConstraintPurpose
PRIMARY KEYUniquely identifies each row
NOT NULLColumn cannot be empty
UNIQUEAll values must be different
CHECKValues must meet a condition
DEFAULTSets a default value
FOREIGN KEYLinks to another table's primary key