Sei sulla pagina 1di 3

1/11/2016

SQL(StructuredQueryLanguage)inonepage:SQL.SU

SQL(StructuredQueryLanguage)inone

Tableofcontents:DatabaseManipulation(CREATE,DROPDATABASE),TableManipulation(CREATE,ALTER,DROP
TABLE,DataTypes),IndexManipulation(CREATE,DROPINDEX),DataManipulation(INSERT,UPDATE,DELETE,
TRUNCATETABLE),Select(SELECT,FROM,WHERE,ORDERBY,GROUPBY,HAVING,Operators,Aggregate
functions),Alias,Join,UNION,SELECTINTO/IN,CREATEVIEW.

DatabaseManipulation

CREATEDATABASEdatabase_name
DROPDATABASEdatabase_name

Createadatabase
Deleteadatabase

CREATEDATABASEMy_First_Database
DROPDATABASEMy_First_Database

CREATETABLE"table_name"
("column_1""data_type_for_column_1",
"column_2""data_type_for_column_2",
...)

Createatableinadatabase.

TableManipulation
DataTypes
Description

DataType
integer(size)
int(size)
smallint(size)
tinyint(size)
decimal(size,d)
numeric(size,d)
char(size)

varchar(size)

date(yyyymmdd)

Holdintegersonly.Themaximum
numberofdigitsarespecifiedin
parenthesis.
Holdnumberswithfractions.The
maximumnumberofdigitsare
specifiedin"size".Themaximum
numberofdigitstotherightofthe
decimalisspecifiedin"d".
Holdsafixedlengthstring(can
containletters,numbers,andspecial
characters).Thefixedsizeisspecified
inparenthesis.
Holdsavariablelengthstring(can
containletters,numbers,andspecial
characters).Themaximumsizeis
specifiedinparenthesis.
Holdsadate

ALTERTABLEtable_nameADDcolumn_namedatatype
ALTERTABLEtable_nameDDROPcolumn_namedatatype
DROPTABLEtable_name

Addcolumnsinanexistingtable.
Deletecolumnsinanexistingtable.
Deleteatable.

CREATEINDEXindex_name
ONtable_name(column_name_1,column_name_2,...)
CREATEUNIQUEINDEXindex_name
ONtable_name(column_name_1,column_name_2,...)
DROPINDEXtable_name.index_name

Createasimpleindex.

INSERTINTOtable_name
VALUES(value_1,value_2,....)
INSERTINTOtable_name(column1,column2,...)
VALUES(value_1,value_2,....)
UPDATEtable_name
SETcolumn_name_1=new_value_1,column_name_2=
new_value_2
WHEREcolumn_name=some_value
DELETEFROMtable_name
WHEREcolumn_name=some_value
TRUNCATETABLEtable_name

Insertnewrowsintoatable.

Selectdatafromatable.
Selectalldatafromatable.
Selectonlydistinct(different)datafromatable.
Selectonlycertaindatafromatable.

SELECTcolumn_name(s)FROMtable_name
SELECT*FROMtable_name
SELECTDISTINCTcolumn_name(s)FROMtable_name
SELECTcolumn_name(s)FROMtable_name
WHEREcolumnoperatorvalue
ANDcolumnoperatorvalue
ORcolumnoperatorvalue
AND(...OR...)
...

http://www.cheatsheets.org/sites/sql.su/

CREATETABLEPerson
(LastNamevarchar,
FirstNamevarchar,
Addressvarchar,
Ageint)

ALTERTABLEPersonADDSexchar(6)
ALTERTABLEPersonDROPSexchar(6)
DROPTABLEPerson

IndexManipulation
CREATEINDEXPersonIndex
ONPerson(LastName,FirstName)
CREATEUNIQUEINDEXPersonIndex
ONPerson(LastNameDESC)
DROPINDEXPerson.PersonIndex

Createauniqueindex.
Deleteaindex.

DataManipulation

Updateoneorseveralcolumnsinrows.

Deleterowsinatable.

INSERTINTOPersons
VALUES('Hussein','Saddam','WhiteHous
INSERTINTOPersons(LastName,FirstNa
VALUES('Hussein','Saddam','WhiteHous
UPDATEPerson
SETAddress='ups'
WHERELastName='Hussein'

DELETEFROMPersonWHERELastNam

Deletesthedatainsidethetable.

TRUNCATETABLEPerson

Select

Operator
=
<>
>

Operators
Description
Equal
Notequal
Greaterthan

SELECTLastName,FirstNameFROMPer
SELECT*FROMPersons
SELECTDISTINCTLastName,FirstName
SELECT*FROMPersonsWHEREsex='fe
SELECT*FROMPersonsWHEREYear>
SELECT*FROMPersons
WHEREFirstName='Saddam'
ANDLastName='Hussein'
SELECT*FROMPersons
WHEREFirstName='Saddam'
1/3

1/11/2016

SQL(StructuredQueryLanguage)inonepage:SQL.SU

SELECTcolumn_name(s)FROMtable_name
WHEREcolumn_nameIN(value1,value2,...)
SELECTcolumn_name(s)FROMtable_name
ORDERBYrow_1,row_2DESC,row_3ASC,...

<
>=
<=
BETWEEN
LIKE

Lessthan
Greaterthanorequal
Lessthanorequal
Betweenaninclusiverange
Searchforapattern.
A"%"signcanbeusedtodefinewildcards
(missinglettersinthepattern)bothbefore
andafterthepattern.

TheINoperatormaybeusedifyouknowtheexactvalue
youwanttoreturnforatleastoneofthecolumns.
Selectdatafromatablewithsorttherows.

ORLastName='Hussein'

SELECT*FROMPersonsWHERE
(FirstName='Tove'ORFirstName='Stephen
ANDLastName='Svendson'

SELECT*FROMPersonsWHEREFirstN
SELECT*FROMPersonsWHEREFirstN
SELECT*FROMPersonsWHEREFirstN
SELECT*FROMPersons
WHERELastNameIN('Hansen','Pettersen'
SELECT*FROMPersons
ORDERBYLastName

Note:

SELECTcolumn_1,...,SUM(group_column_name)
FROMtable_name
GROUPBYgroup_column_name

ASC (ascend) is a alphabetical and numerical order


(optional)
DESC(descend)isareversealphabeticalandnumerical
order
GROUP BY... was added to SQL because aggregate
functions(likeSUM)returntheaggregateofallcolumnvalues
every time they are called, and without the GROUP BY
functionitwasimpossibletofindthesumforeachindividual
groupofcolumnvalues.

SELECTFirstName,LastNameFROMPer
ORDERBYLastNameDESC

SELECTCompany,OrderNumberFROMO
ORDERBYCompanyDESC,OrderNumbe
SELECTCompany,SUM(Amount)
FROMSales
GROUPBYCompany

Someaggregatefunctions
Function
Description
AVG(column)
COUNT(column)
MAX(column)
MIN(column)
SUM(column)

Returnstheaveragevalueofa
column
Returnsthenumberofrows(without
aNULLvalue)ofacolumn
Returnsthehighestvalueofa
column
Returnsthelowestvalueofa
column
Returnsthetotalsumofacolumn

SELECTcolumn_1,...,SUM(group_column_name)
FROMtable_name
GROUPBYgroup_column_name
HAVINGSUM(group_column_name)conditionvalue

HAVING... was added to SQL because the WHERE


keyword could not be used against aggregate functions (like
SUM),andwithoutHAVING...itwouldbeimpossibletotest
forresultconditions.

SELECTcolumn_nameAScolumn_aliasFROMtable_name

Columnnamealias

SELECTtable_alias.column_nameFROMtable_nameAS
table_alias

Tablenamealias

SELECTcolumn_1_name,column_2_name,...
FROMfirst_table_name
INNERJOINsecond_table_name
ONfirst_table_name.keyfield=
second_table_name.foreign_keyfield
SELECTcolumn_1_name,column_2_name,...
FROMfirst_table_name
LEFTJOINsecond_table_name
ONfirst_table_name.keyfield=
second_table_name.foreign_keyfield
SELECTcolumn_1_name,column_2_name,...
FROMfirst_table_name
RIGHTJOINsecond_table_name
ONfirst_table_name.keyfield=
second_table_name.foreign_keyfield

TheINNERJOINreturnsallrowsfrombothtableswhere
thereisamatch.Iftherearerowsinfirsttablethatdonothave
matchesinsecondtable,thoserowswillnotbelisted.

SELECTEmployees.Name,Orders.Product
FROMEmployees
INNERJOINOrders
ONEmployees.Employee_ID=Orders.Emp

TheLEFTJOINreturnsalltherowsfromthefirsttable,
even if there are no matches in the second table. If there are
rows in first table that do not have matches in second table,
thoserowsalsowillbelisted.

SELECTEmployees.Name,Orders.Product
FROMEmployees
LEFTJOINOrders
ONEmployees.Employee_ID=Orders.Emp

The RIGHT JOIN returns all the rows from the second
table,eveniftherearenomatchesinthefirsttable.Iftherehad
beenanyrowsinsecondtablethatdidnothavematchesinfirst
table,thoserowsalsowouldhavebeenlisted.

SELECTEmployees.Name,Orders.Product
FROMEmployees
RIGHTJOINOrders
ONEmployees.Employee_ID=Orders.Emp

SQL_Statement_1
UNION
SQL_Statement_2
SQL_Statement_1
UNIONALL
SQL_Statement_2

Select all different values from SQL_Statement_1 and


SQL_Statement_2

SELECTcolumn_name(s)
INTOnew_table_name
FROMsource_table_name
WHEREquery

Selectdatafromtable(S)andinsertitintoanothertable.

http://www.cheatsheets.org/sites/sql.su/

SELECTCompany,SUM(Amount)
FROMSales
GROUPBYCompany
HAVINGSUM(Amount)>10000

Alias

SELECTLastNameASFamily,FirstName
FROMPersons
SELECTLastName,FirstName
FROMPersonsASEmployees

Join

UNION

Select all values from SQL_Statement_1 and


SQL_Statement_2

SELECTE_NameFROMEmployees_Norw
UNION
SELECTE_NameFROMEmployees_USA
SELECTE_NameFROMEmployees_Norw
UNION
SELECTE_NameFROMEmployees_USA

SELECTINTO/IN

SELECT*INTOPersons_backupFROMP

2/3

1/11/2016

SQL(StructuredQueryLanguage)inonepage:SQL.SU

SELECTcolumn_name(s)
INexternal_database_name
FROMsource_table_name
WHEREquery

Selectdatafromtable(S)andinsertitinanotherdatabase.

CREATEVIEWview_nameAS
SELECTcolumn_name(s)
FROMtable_name
WHEREcondition

CreateavirtualtablebasedontheresultsetofaSELECT
statement.

SELECTPersons.*INTOPersonsIN'Back
PersonsWHERECity='Sandnes'

CREATEVIEW

CREATEVIEW[CurrentProductList]AS
SELECTProductID,ProductName
FROMProducts
WHEREDiscontinued=No

OTHER
PublicDomian20062015AlexanderKrassotkin

http://www.cheatsheets.org/sites/sql.su/

3/3

Potrebbero piacerti anche