IT/MySQL(MariaDB)

(My)SQL Cheat Sheet

쓸만한게없네 2015. 9. 12. 14:17


(My)SQL Cheat Sheet

Here are the most commonly used SQL commands and the most commonly used options for each. There are many more commands and options than listed here. In other words, the syntaxes as I have listed them are far from complete. See the links at the bottom for more complete syntaxes and more commands.

MySQL Command-Line
WhatHowExample(s)
Running MySQLmysql -uusername -ppasswordmysql -ucusack2RO -pegbdf5s
Importingmysql -uusername -ppassword < filenamemysql -usomeDB -pblah < myNewDB.sql
Dumping
(Saving)
mysqldump -uusername -ppassword database [tables] > filenamemysqldump -ume -pblah myDB > My.sql
mysqldump -ume -pblah myDB table1 
        table2 > my.sql
Common MySQL Column Types
PurposeData TypeExample
Integersint(M)int(5)
Floating-point (real) numbersfloat(M,D)float(12,3)
Double-precision floating-pointdouble(M,D)double(20,3)
Dates and timestimestamp(M)timestamp(8) (for YYYYMMDD)
timestamp(12) (for YYYYMMDDHHMMSS)
Fixed-length stringschar(M)char(10)
Variable-length stringsvarchar(M)varchar(20)
A large amount of textblobblob
Values chosen from a listenum('value1',value2',...)enum('apples','oranges','bananas')

M is maximum to display, and D is precision to the right of the decimal.
MySQL Mathematical Functions
WhatHow
Count rows per groupCOUNT(column | *)
Average value of groupAVG(column)
Minumum value of groupMIN(column)
Maximum value of groupMAX(column)
Sum values in a groupSUM(column)
Absolute valueabs(number)
Rounding numbersround(number)
Largest integer not greaterfloor(number)
Smallest integer not smallerceiling(number)
Square rootsqrt(number)
nth powerpow(base,exponent)
random number n, 0<n < 1rand()
sin (similar cos, etc.)sin(number)
MySQL String Functions
WhatHow
Compare stringsstrcmp(string1,string2)
Convert to lower caselower(string)
Convert to upper caseupper(string)
Left-trim whitespace (similar right)ltrim(string)
Substring of stringsubstring(string,index1,index2)
Encrypt passwordpassword(string)
Encode stringencode(string,key)
Decode stringdecode(string,key)
Get datecurdate()
Get timecurtime()
Extract day name from date stringdayname(string)
Extract day number from date stringdayofweek(string)
Extract month from date stringmonthname(string)
Basic MySQL Commands
WhatHowExample(s)
List all databasesSHOW DATABASES;SHOW DATABASES;
Create databaseCREATE DATABASE database;CREATE DATABASE PhoneDB;
Use a databaseUSE database;USE PhonDB;
List tables in the databaseSHOW TABLES;SHOW TABLES;
Show the structure of a tableDESCRIBE table;
SHOW COLUMNS FROM table;
DESCRIBE Animals;
SHOW COLUMNS FROM Animals;
Delete a database (Careful!)DROP DATABASE database;DROP DATABASE PhoneDB;
SQL Commands: Modifying
WhatHowExample(s)
Create tableCREATE TABLE table ( 
        column1 type [[NOT] NULL] 
                [AUTO_INCREMENT],
        column2 type [[NOT] NULL] 
                [AUTO_INCREMENT],
        ...
        other options,
        PRIMARY KEY (column(s))    );
CREATE TABLE Students (
        LastName varchar(30) NOT NULL,
        FirstName varchar(30) NOT NULL,
        StudentID int NOT NULL,
        Major varchar(20),
        Dorm varchar(20),
        PRIMARY KEY (StudentID)     );
Insert dataINSERT INTO table VALUES 
        (list of values);
INSERT INTO table SET
        column1=value1,
        column2=value2,
        ...
        columnk=valuek;
INSERT INTO table (column1,column2,...)
        VALUES (value1,value2...);
INSERT INTO Students VALUES
        ('Smith','John',123456789,'Math','Selleck');
INSERT INTO Students SET
        FirstName='John',
        LastName='Smith',
        StudentID=123456789,
        Major='Math';
INSERT INTO Students
        (StudentID,FirstName,LastName)
        VALUES (123456789,'John','Smith');
Insert/SelectINSERT INTO table (column1,column2,...)
        SELECT statement;
        (See below)
INSERT INTO Students
        (StudentID,FirstName,LastName)
        SELECT StudentID,FirstName,LastName 
        FROM OtherStudentTable;
        WHERE LastName like '%son';
Delete dataDELETE FROM table
        [WHERE condition(s)];



(Omit WHERE to delete all data)
DELETE FROM Students 
        WHERE LastName='Smith';
DELETE FROM Students 
        WHERE LastName like '%Smith%';
        AND FirstName='John';
DELETE FROM Students;
Updating DataUPDATE table SET
        column1=value1,
        column2=value2,
        ...
        columnk=valuek
        [WHERE condition(s)];
UPDATE Students SET 
        LastName='Jones' WHERE
        StudentID=987654321;
UPDATE Students SET 
        LastName='Jones', Major='Theatre' 
        WHERE StudentID=987654321 OR
        (MAJOR='Art' AND FirstName='Pete');
Insert columnALTER TABLE table ADD COLUMN 
        column type options;
ALTER TABLE Students ADD COLUMN 
        Hometown varchar(20);
Delete columnALTER TABLE table
        DROP COLUMN column;
ALTER TABLE Students 
        DROP COLUMN Dorm;
Delete table (Careful!)DROP TABLE [IF EXISTS] table;DROP TABLE Animals;
SQL Commands: Querying
WhatHowExample(s)
All columnsSELECT * FROM table;SELECT * FROM Students;
Some columnsSELECT column1,column2,... FROM table;SELECT LastName, FirstName FROM Students;
Some rows/
columns
SELECT column1,column2,...
        FROM table
        [WHERE condition(s)];
SELECT LastName,FirstName
        FROM Students
        WHERE StudentID LIKE '%123%';
No RepeatsSELECT [DISTINCT] column(s)
        FROM table;
SELECT DISTINCT LastName
        FROM Students;
OrderingSELECT column1,column2,...
        FROM table
        [ORDER BY column(s) [DESC]];
SELECT LastName,FirstName
        FROM Students
        ORDER BY LastName, FirstName DESC;
Column
Aliases
SELECT column1 [AS alias1],
        column2 [AS alias2], ...
        FROM table1;
SELECT LastName,FirstName AS First
        FROM Students;
GroupingSELECT column1,column2,...
        FROM table
        [GROUP BY column(s)];
SELECT LastName,COUNT(*)
        FROM Students
        GROUP BY LastName;
Group FilteringSELECT column1,column2,...
        FROM table
        [GROUP BY column(s)]
        [HAVING condition(s)];
SELECT LastName,COUNT(*)
        FROM Students
        GROUP BY LastName
        HAVING LastName like '%son';
JoinsSELECT column1,column2,...
        FROM table1,table2,...
        [WHERE condition(s)];
SELECT LastName,Points
        FROM Students,Assignments 
        WHERE AssignmentID=12 AND
        Students.StudentID=Assignments.StudentID;
Table 
Aliases
SELECT column1,column2,...
        FROM table1 [alias1],
        table2 [alias2],...
        [WHERE condition(s)];
SELECT LastName,Points
        FROM Students S,Assignments A 
        WHERE S.StudentID=A.StudentID AND 
        A.AssignmentID=12;
EverythingSELECT [DISTINCT] 
        column1 [AS alias1],
        column2 [AS alias2], ...
        FROM table1 [alias1],
        table2 [alias2],...
        [WHERE condition(s)]
        [GROUP BY column(s)]
        [HAVING condition(s)]
        [ORDER BY column(s) [DESC]];
SELECT Points, COUNT(*) AS Cnt
        FROM Students S,Assignments A 
        WHERE S.StudentID=A.StudentID AND 
        A.AssignmentID=12
        GROUP BY Points
        HAVING Points > 10
        ORDER BY Cnt, Points DESC;


Soruce (Copied from)

http://cse.unl.edu/~sscott/ShowFiles/SQL/CheatSheet/SQLCheatSheet.html