SyntaxStudy
Sign Up
MySQL Beginner 8 min read

INSERT Data

INSERT in MySQL

Single Row

INSERT INTO users (username, email, created_at)
VALUES ('bob', 'bob@example.com', NOW());

Multiple Rows

INSERT INTO products (name, price, category_id) VALUES
('Laptop', 999.99, 1),
('Phone', 599.99, 1),
('Desk', 299.99, 2);

INSERT IGNORE

-- Skip if duplicate key
INSERT IGNORE INTO users (email) VALUES ('existing@example.com');

INSERT ... SELECT

INSERT INTO archive_orders (user_id, amount, created_at)
SELECT user_id, amount, created_at FROM orders
WHERE created_at < '2023-01-01';

ON DUPLICATE KEY UPDATE

INSERT INTO page_views (page, views) VALUES ('home', 1)
ON DUPLICATE KEY UPDATE views = views + 1;
Pro Tip

LAST_INSERT_ID() returns the auto-increment ID of the most recently inserted row.