Sei sulla pagina 1di 3

06/04/2015

SQL(StructuredQueryLanguage)inonepage:SQL.SU

DatabaseManipulation
CREATEDATABASEdatabase_name
DROPDATABASEdatabase_name

Createadatabase
Deleteadatabase

CREATEDATABASEMy_First_D
DROPDATABASEMy_First_Data

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,....)

Insertnewrowsintoatable.

UPDATEtable_name
SETcolumn_name_1=new_value_1,column_name_2=new_value_2
WHEREcolumn_name=some_value

Updateoneorseveralcolumnsinrows.

DELETEFROMtable_name
WHEREcolumn_name=some_value
TRUNCATETABLEtable_name

Deleterowsinatable.

SELECTcolumn_name(s)FROMtable_name
SELECT*FROMtable_name
SELECTDISTINCTcolumn_name(s)FROMtable_name

Selectdatafromatable.
Selectalldatafromatable.
Selectonlydistinct(different)datafromatable.

SELECTcolumn_name(s)FROMtable_name
WHEREcolumnoperatorvalue
ANDcolumnoperatorvalue
ORcolumnoperatorvalue
AND(...OR...)
...

Selectonlycertaindatafromatable.

CREATETABLEPerson
(LastNamevarchar,
FirstNamevarchar,
Addressvarchar,
Ageint)

ALTERTABLEPersonADDSexc
ALTERTABLEPersonDROPSex
DROPTABLEPerson

IndexManipulation
Createauniqueindex.
Deleteaindex.

CREATEINDEXPersonIndex
ONPerson(LastName,FirstName)
CREATEUNIQUEINDEXPersonI
ONPerson(LastNameDESC)
DROPINDEXPerson.PersonIndex

DataManipulation

Deletesthedatainsidethetable.

INSERTINTOPersons
VALUES('Hussein','Saddam','Whit
INSERTINTOPersons(LastName,
Address)
VALUES('Hussein','Saddam','Whit
UPDATEPerson
SETAddress='ups'
WHERELastName='Hussein'

DELETEFROMPersonWHEREL
'Hussein'
TRUNCATETABLEPerson

Select

Operator
=
<>
>
<
>=
<=
BETWEEN
LIKE

Operators
Description
Equal
Notequal
Greaterthan
Lessthan
Greaterthanorequal
Lessthanorequal
Betweenaninclusiverange
Searchforapattern.
A"%"signcanbeusedtodefinewildcards
(missinglettersinthepattern)bothbefore
andafterthepattern.

SELECTLastName,FirstNameFRO
SELECT*FROMPersons
SELECTDISTINCTLastName,Fir
FROMPersons
SELECT*FROMPersonsWHERE
sex='female'
SELECT*FROMPersonsWHERE
SELECT*FROMPersons
WHEREFirstName='Saddam'
ANDLastName='Hussein'
SELECT*FROMPersons
WHEREFirstName='Saddam'
ORLastName='Hussein'
SELECT*FROMPersonsWHERE
(FirstName='Tove'ORFirstName='
ANDLastName='Svendson'
SELECT*FROMPersonsWHERE
LIKE'O%'
SELECT*FROMPersonsWHERE
LIKE'%a'
SELECT*FROMPersonsWHERE

data:text/htmlcharset=utf8,%3Ctable%20align%3D%22center%22%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%20fontfamily%3A%20'

1/3

06/04/2015

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,...

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

TheINoperatormaybeusedifyouknowtheexactvalue
youwanttoreturnforatleastoneofthecolumns.
Selectdatafromatablewithsorttherows.
Note:
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.

AVG(column)

Returnstheaveragevalueofa
column

COUNT(column)

Returnsthenumberofrows
(withoutaNULLvalue)ofacolumn
Returnsthehighestvalueofa
column
Returnsthelowestvalueofa
column
Returnsthetotalsumofacolumn

MIN(column)
SUM(column)
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_nameAStable_alias

Tablenamealias

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

Alias

SELECTLastNameASFamily,Firs
Name
FROMPersons
SELECTLastName,FirstName
FROMPersonsASEmployees

Join

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

TheINNERJOINreturnsallrowsfrombothtableswhere
thereisamatch.Iftherearerowsinfirsttablethatdonothave
matchesinsecondtable,thoserowswillnotbelisted.

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

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.

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

The RIGHT JOIN returns all the rows from the second
table, even if there are no matches in the first table. If there
hadbeenanyrowsinsecondtablethatdidnothavematchesin
firsttable,thoserowsalsowouldhavebeenlisted.

SELECTCompany,SUM(Amount)
FROMSales
GROUPBYCompany

Someaggregatefunctions
Function
Description

MAX(column)

LIKE'%la%'
SELECT*FROMPersons
WHERELastNameIN('Hansen','Pe
SELECT*FROMPersons
ORDERBYLastName
SELECTFirstName,LastNameFRO
ORDERBYLastNameDESC
SELECTCompany,OrderNumberF
Orders
ORDERBYCompanyDESC,Orde
ASC

SELECTEmployees.Name,Orders.
FROMEmployees
INNERJOINOrders
ON
Employees.Employee_ID=Orders.E
SELECTEmployees.Name,Orders.
FROMEmployees
LEFTJOINOrders
ON
Employees.Employee_ID=Orders.E
SELECTEmployees.Name,Orders.
FROMEmployees
RIGHTJOINOrders
ON
Employees.Employee_ID=Orders.E

UNION

SQL_Statement_1
UNION
SQL_Statement_2
SQL_Statement_1
UNIONALL
SQL_Statement_2

Select
all
different
fromSQL_Statement_1andSQL_Statement_2

values

Select
fromSQL_Statement_1andSQL_Statement_2

values

SELECTcolumn_name(s)
INTOnew_table_name
FROMsource_table_name
WHEREquery

Selectdatafromtable(S)andinsertitintoanothertable.

SELECT*INTOPersons_backupF
Persons

SELECTcolumn_name(s)
INexternal_database_name
FROMsource_table_name
WHEREquery

Selectdatafromtable(S)andinsertitinanotherdatabase.

SELECTPersons.*INTOPersonsIN
'Backup.db'FROMPersonsWHERE
City='Sandnes'

all

SELECTE_NameFROMEmployee
UNION
SELECTE_NameFROMEmployee
SELECTE_NameFROMEmployee
UNION
SELECTE_NameFROMEmployee

SELECTINTO/IN

data:text/htmlcharset=utf8,%3Ctable%20align%3D%22center%22%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%20fontfamily%3A%20'

2/3

06/04/2015

CREATEVIEWview_nameAS
SELECTcolumn_name(s)
FROMtable_name
WHEREcondition

SQL(StructuredQueryLanguage)inonepage:SQL.SU

CREATEVIEW
CreateavirtualtablebasedontheresultsetofaSELECT
statement.

CREATEVIEW[CurrentProductL
SELECTProductID,ProductName
FROMProducts
WHEREDiscontinued=No

data:text/htmlcharset=utf8,%3Ctable%20align%3D%22center%22%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%20fontfamily%3A%20'

3/3

Potrebbero piacerti anche