TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
MySQL Cheatsheet
1. Mathematical Control Flow
ABS IFNULL
SIGN NULLIF
MOD IF
FLOOR
CEILING String
ROUND ASCII
DIV ORD
EXP DATA TYPES MYSQL FUNCTIONS IN PHP CONV
LN BIN,OCT,HEX
LOG,LOG2,LOG10 String, length 0 - 255 mysql_affected_rows CHAR
CHAR
POW CONCAT
POWER VARCHAR String, length 0 - 255 mysql_close CONCAT_WS
SQRT TINYTEXT String, length 0 - 255 mysql_connect LENGTH
PI TEXT String, length 0 - 65535 mysql_data_seek CHAR_LENGTH
COS String, length 0 - 65535 mysql_db_name BIT_LENGTH
BLOB
SIN LOCATE
TAN MEDIUMTEXT String, length 0 - 16777215 mysql_errno INSTR
ACOS MEDIUMBLOB String, length 0 - 16777215 mysql_error LPAD
ASIN LONGTEXT String, length 0 - 4294967295 mysql_fetch_array RPAD
ATAN, ATAN2 mysql_fetch_assoc LEFT
LONGBLOB String, length 0 - 4294967295
COT RIGHT
RAND * TINYINT Integer, -128 to 127 mysql_fetch_field SUBSTRING
LEAST * SMALLINT Integer, -32768 to 32767 mysql_fetch_lengths MID
GREATEST * MEDIUMINT Integer, -8388608 to 8388607 mysql_fetch_object SUBSTRING_INDEX
DEGREES mysql_fetch_row LTRIM
* INT Integer, -2147483648 to
RADIANS RTRIM
TRUNCATE 2147483647 mysql_field_flags TRIM
* BIGINT Int, -9223372036854775808 mysql_field_len SOUNDEX
Date and Time to 9223372036854775807 mysql_field_name SPACE
DAYOFWEEK mysql_field_seek REPLACE
FLOAT Decimal (precise to 23 digits)
WEEKDAY REPEAT
DAYOFMONTH DOUBLE Decimal (24 to 53 digits) mysql_field_table REVERSE
DAYOFYEAR DECIMAL "DOUBLE" stored as string mysql_field_type INSERT
MONTH DATE YYYY-MM-DD mysql_free_result ELT
DAYNAME mysql_insert_id FIELD
DATETIME YYYY-MM-DD HH:MM:SS
MONTHNAME LCASE
QUARTER TIMESTAMP YYYYMMDDHHMMSS mysql_list_dbs UCASE
WEEK TIME HH:MM:SS mysql_list_processes LOAD_FILE
YEAR ENUM One of preset options mysql_list_tables QUOTE
YEARWEEK mysql_num_fields
SET Selection of preset options
HOUR Comparison
MINUTE mysql_num_rows STRCMP
SECOND * Note: "UNSIGNED" TINYINT, SMALLINT, mysql_pconnect
PERIOD_ADD MEDIUMINT, INT, BIGINT have the same mysql_query Cast
PERIOD_DIFF mysql_real_escape_string CAST
range of values but start at 0, e.g. TINYINT
DATE_ADD CONVERT
DATE_SUB UNSIGNED is between 0 and 255. mysql_select_db
ADDDATE Other
SUBDATE BIT_COUNT
EXTRACT SAMPLE SELECT QUERIES DATABASE
TO_DAYS USER
FROM_DAYS SELECT * FROM tablename # Returns all columns SYSTEM_USER
DATE_FORMAT SELECT column FROM tablename # Returns specific column SESSION_USER
TIME_FORMAT CURRENT_USER
SELECT COUNT(*) FROM tablename # Returns number of rows
CURRENT_DATE PASSWORD
CURRENT_TIME SELECT SUM(column) FROM tablename # Returns sum of column OLD_PASSWORD
NOW SELECT DISTINCT column FROM tablename # Returns unique values of column ENCRYPT
SYSDATE SELECT * FROM tablename WHERE condition # Returns rows that match condition DECODE
UNIX_TIMESTAMP MD5
SELECT * FROM tablename WHERE BINARY condition # Condition is case-sensitive
FROM_UNIXTIME SHA1
SEC_TO_TIME SELECT * FROM table1 INNER JOIN table2 on # Join two tables, return all columns AES_ENCRYPT
TIME_TO_SEC table1.id = table2.id AES_DECRYPT
SELECT table1.* FROM table1 INNER JOIN table2 on # Only return columns from table1 DES_ENCRYPT
Group DES_DECRYPT
table1.id = table2.id
COUNT LAST_INSERT_ID
AVG SELECT LAST_INSERT_ID() as new_id # Returns ID of last created row FORMAT
MIN SELECT max(column) AS alias # Return maxium value in column as VERSION
MAX "alias" CONNECTION_ID
SUM GET_LOCK
SELECT * FROM table ORDER BY column # Return all rows ordering by column
GROUP_CONCAT RELEASE_LOCK
VARIANCE SELECT * FROM table LIMIT 10, 20 # Return first 20 rows after row 10 IS_FREE_LOCK
STD BENCHMARK
STDDEV INET_NTOA
BIT_OR Available free from AddedBytes.com INET_ATON
BIT_AND FOUND_ROWS