MySQL Cheat Sheet with some dummy queries to help you get going.
mysql -u root -p
SELECT User, Host FROM mysql.user;
CREATE USER 'someuser'@'localhost' IDENTIFIED BY 'somepassword';
GRANT ALL PRIVILEGES ON * . * TO 'someuser'@'localhost';
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'someuser'@'localhost';
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'someuser'@'localhost';
DROP USER 'someuser'@'localhost';
exit;
SHOW DATABASES;
CREATE DATABASE testdb;
DROP DATABASE testdb;
USE testdb;
CREATE TABLE employee(
id INT AUTO_INCREMENT,
first_name VARCHAR(100),
last_name VARCHAR(100),
email VARCHAR(50),
location VARCHAR(100),
dept VARCHAR(100),
PRIMARY KEY(id)
);
DROP TABLE employee;
SHOW TABLES;
INSERT INTO employee (first_name, last_name, email, location, dept) values ('Irrfan', 'Khan', '[email protected]', 'Mumbai', 'Development');
INSERT INTO employee (first_name, last_name, email, location, dept) values ('KK', 'Menon', '[email protected]', 'Delhi', 'Development'), ('Piyush', 'Mishra', '[email protected]', 'Delhi', 'Design'), ('Sanjay', 'Mishra', '[email protected]', 'Kolkata', 'Sales'), ('Deepak', 'Dobriyal', '[email protected]', 'Delhi', 'Sales'), ('Nawazuddin', 'Siddiqui', '[email protected]', 'Delhi', 'Design'), ('Jaideep', 'Ahlawat', '[email protected]', 'Mumbai', 'Development');
SELECT * FROM employee;
SELECT first_name, last_name FROM employee;
SELECT * FROM employee WHERE location='Delhi';
SELECT * FROM employee WHERE location='Delhi' AND dept='Design';
SELECT * FROM employee WHERE dept = 'Sales';
START TRANSACTION;
SAVEPOINT initsave;
ROLLBACK TO initsave;
DELETE FROM employee WHERE id = 6;
UPDATE employee SET email = '[email protected]' WHERE id = 3;
ALTER TABLE employee ADD age VARCHAR(3);
ALTER TABLE employee MODIFY COLUMN age INT(3);
SELECT * FROM employee ORDER BY first_name ASC;
SELECT * FROM employee ORDER BY first_name DESC;
SELECT CONCAT(first_name, ' ', last_name) AS 'Name', dept FROM employee;
SELECT DISTINCT location FROM employee;
SELECT * FROM employee WHERE age BETWEEN 20 AND 25;
SELECT * FROM employee WHERE first_name LIKE 'p%';
SELECT * FROM employee WHERE dept LIKE 'de_%';
SELECT * FROM employee WHERE dept LIKE '%t';
SELECT * FROM employee WHERE last_name LIKE '%mishra%';
SELECT * FROM employee WHERE dept NOT LIKE 'd%';
SELECT * FROM employee WHERE dept IN ('design', 'sales');
CREATE TABLE empsalary(
id INT,
salary INT,
bonus INT,
PRIMARY KEY(id),
FOREIGN KEY (id) REFERENCES employee(id)
);
INSERT INTO empsalary VALUES (1, 100000, 10000),(3, 150000, 15000),(6, 150000, 15000),(2, 100000, 10000),(7, 100000, 10000),(5, 200000, 20000),(4, 200000, 20000);
SELECT
employee.first_name,
employee.last_name,
employee.dept,
empsalary.salary,
empsalary.bonus
FROM employee
INNER JOIN empsalary
ON employee.id = empsalary.id
ORDER BY employee.id;
SELECT CONCAT(employee.first_name, ' ', employee.last_name) AS "Name", (empsalary.salary + empsalary.bonus) AS "Salary" FROM employee, empsalary WHERE employee.id = empsalary.id;
SELECT * FROM employee NATURAL JOIN empsalary;
SELECT COUNT(id) FROM employee;
SELECT MAX(salary) FROM empsalary;
SELECT MIN(age) FROM employee;
SELECT SUM(age) FROM employee;
SELECT dept, COUNT(first_name) FROM employee GROUP BY dept;
SELECT location, COUNT(first_name) FROM employee WHERE location in ("Delhi","Mumbai") GROUP BY location;
SELECT dept, COUNT(first_name) FROM employee GROUP BY dept HAVING count(first_name) >=2;