Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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