0% found this document useful (0 votes)
177 views

SQL Cheat Sheet Mysql

This document provides a cheat sheet overview of common SQL commands and functions for MySQL, organized into sections on SELECT queries, modifying data, creating tables, indexes, set operators, aggregate functions, and window/analytic functions. The SELECT section covers basic queries, joins, and filtering with keywords like WHERE, GROUP BY, HAVING, ORDER BY, DISTINCT, BETWEEN, IN, and LIKE. The modifying data section covers INSERT, UPDATE, DELETE. Other sections cover creating/altering tables, indexes, unions, and aggregate functions.

Uploaded by

Anxious Zhou
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
177 views

SQL Cheat Sheet Mysql

This document provides a cheat sheet overview of common SQL commands and functions for MySQL, organized into sections on SELECT queries, modifying data, creating tables, indexes, set operators, aggregate functions, and window/analytic functions. The SELECT section covers basic queries, joins, and filtering with keywords like WHERE, GROUP BY, HAVING, ORDER BY, DISTINCT, BETWEEN, IN, and LIKE. The modifying data section covers INSERT, UPDATE, DELETE. Other sections cover creating/altering tables, indexes, unions, and aggregate functions.

Uploaded by

Anxious Zhou
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

MySQL Cheat Sheet

www.databasestar.com
SELECT Query Modifying Data Create Table
SELECT col1, col2
FROM table Insert INSERT INTO tablename Create Table CREATE TABLE tablename (
JOIN table2 ON table1.col = table2.col (col1, col2...) column_name data_type
WHERE condition VALUES (val1, val2); );
GROUP BY column_name Insert from a
HAVING condition INSERT INTO tablename
Table
ORDER BY col1 ASC|DESC; (col1, col2...) Create Table with Constraints
SELECT col1, col2...

CREATE TABLE tablename (


SELECT Keywords Insert Multiple
Rows
INSERT INTO tablename (col1,
col2…) column_name data_type NOT NULL,
VALUES CONSTRAINT pkname PRIMARY KEY (col),
DISTINCT: Removes SELECT DISTINCT product_name (valA1, valB1), CONSTRAINT fkname FOREIGN KEY (col)
duplicate results FROM product; (valA2, valB2), REFERENCES other_table(col_in_other_table),
(valA3, valB3); CONSTRAINT ucname UNIQUE (col),
CONSTRAINT ckname CHECK (conditions)
BETWEEN: Matches a SELECT product_name
Update UPDATE tablename );
value between two FROM product
other values (inclusive) WHERE price BETWEEN 50 AND 100; SET col1 = val1
WHERE condition;
Create Temporary CREATE TEMPORARY TABLE
SELECT product_name Table tablename (
IN: Matches to any of
FROM product Update with UPDATE t colname datatype
the values in a list
WHERE category IN a Join SET col1 = val1 );
('Electronics', 'Furniture'); FROM tablename t
INNER JOIN table x Drop Table DROP TABLE tablename;
LIKE: Performs SELECT product_name ON t.id = x.tid
wildcard matches using FROM product WHERE condition;
_ or % WHERE product_name
Delete DELETE FROM tablename
Alter Table
LIKE '%Desk%';
WHERE condition;
Add Column ALTER TABLE tablename
ADD columnname datatype;
Joins Indexes
Drop Column ALTER TABLE tablename
Create Index CREATE INDEX indexname DROP COLUMN columnname;
SELECT t1.*, t2.*
ON tablename (cols);
FROM t1
join_type t2 ON t1.col = t2.col; Modify Column ALTER TABLE tablename CHANGE
Drop Index DROP INDEX indexname; columnname newcolumnname newdatatype;
Table 1 Table 2

A A
Set Operators Rename Column ALTER TABLE tablename CHANGE
COLUMN currentname TO newname;
B B

C D UNION: Shows unique ALTER TABLE tablename ADD


Add Constraint
rows from two result sets. CONSTRAINT constraintname
INNER JOIN: show all matching A
constrainttype (columns);
A
records in both tables. UNION ALL: Shows all
B B rows from two result sets.
Drop Constraint ALTER TABLE tablename DROP
constraint_type constraintname;
LEFT JOIN: show all records from left A A
INTERSECT: Shows rows that
table, and any matching records from ALTER TABLE tablename
B B exist in both result sets. Rename Table
right table. RENAME TO newtablename;
C

MINUS is not recognised in MySQL


RIGHT JOIN: show all records from
Window/Analytic Functions
A A
right table, and any matching records
B B
from left table.
D function_name ( arguments ) OVER (

Aggregate Functions [query_partition_clause]


[ORDER BY order_by_clause
FULL JOIN: show all records from A
A [windowing_clause] ] )
both tables, whether there is a match
SUM: Finds a total of the numbers provided
or not. B B
COUNT: Finds the number of records Example using RANK, showing the student details and their rank
C AVG: Finds the average of the numbers provided according to the fees_paid, grouped by gender:
MIN: Finds the lowest of the numbers provided
D SELECT
MAX: Finds the highest of the numbers provided
student_id, first_name, last_name, gender, fees_paid,

CASE Statement
RANK() OVER (
PARTITION BY gender ORDER BY fees_paid
Common Functions ) AS rank_val
Simple Case CASE name FROM student;
WHEN 'John' THEN 'Name John' LENGTH(string): Returns the length of the provided string
WHEN 'Steve' THEN 'Name Steve' INSTR(string, substring): Returns the position of the substring
ELSE 'Unknown' within the specified string.
END CAST(expression AS datatype): Converts an expression into the Subqueries
specified data type.
ADDDATE(input_date, days): Adds a number of days to a Single Row SELECT id, last_name, salary
Searched Case CASE FROM employee
specified date.
WHEN name='John' THEN 'Name John' WHERE salary = (
NOW: Returns the current date, including time.
WHEN name='Steve' THEN 'Name Steve' SELECT MAX(salary)
CEILING(input_val): Returns the smallest integer greater than
ELSE 'Unknown' FROM employee
the provided number.
END );
FLOOR(input_val): Returns the largest integer less than the
provided number.
Common Table Expression ROUND(input_val, [round_to]): Rounds a number to a specified
number of decimal places.
Multi Row SELECT id, last_name, salary
FROM employee
TRUNCATE(input_value, num_decimals): Truncates a number to WHERE salary IN (
WITH queryname AS ( SELECT salary
a number of decimals.
SELECT col1, col2 FROM employee
REPLACE(whole_string, string_to_replace, replacement_string):
FROM firsttable) WHERE last_name LIKE 'C%'
Replaces one string inside the whole string with another string.
SELECT col1, col2.. );
SUBSTRING(string, start_position): Returns part of a value,
FROM queryname...;
based on a position and length.

You might also like