SQL DDL Commands
Data Definition Language - CREATE, ALTER, DROP
CREATE TABLE
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) UNIQUE,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
ALTER TABLE
ALTER TABLE users ADD phone VARCHAR(20); # add column
ALTER TABLE users DROP COLUMN phone; # drop column
ALTER TABLE users MODIFY age BIGINT; # change type
ALTER TABLE users RENAME TO customers; # rename table
DROP TABLE
DROP TABLE users; # delete table
DROP TABLE IF EXISTS users; # delete if exists
TRUNCATE TABLE
TRUNCATE TABLE users; # delete all rows (fast)
Constraints
PRIMARY KEY # unique identifier
FOREIGN KEY # reference another table
UNIQUE # unique values
NOT NULL # required field
DEFAULT # default value
CHECK # validate data
CREATE INDEX
CREATE INDEX idx_email ON users(email); # create index
CREATE UNIQUE INDEX idx_username ON users(username); # unique index
DROP INDEX idx_email ON users; # drop index