SQL - Forside - Universitetet i Agder

Download Report

Transcript SQL - Forside - Universitetet i Agder

SQL
SQL
Syntaks
SQL
HiA
SQL
• SQL (Structured Query Language, uttales: sequel eller ess-que-ell)
er et komplett sett av kommandoer for aksess til en relasjons-database.
• SQL er i dag standard database-språk for relasjons-databaser.
• SQL benyttes til:
- Opprette datase-tabeller
- Lagre data
- Gjenfinne data
- Endre data
- Endre tabell-strukturer
- Kombinere og beregne data
- Ta hånd om database-sikkerhet
• SQL er mengde-orientert, dvs kan anvendes på en gruppe av records
eller enkelt-record.
• SQL er ikke-prosedyrisk, men kan innebygges i prosedyre-språk.
SQL
HiA
Typer av SQL-kommandoer (1)
• Data Definition Commands
( DDL )
• Data Manipulation Commands ( DML )
• Data Query Commands
( DQL )
• Transaction Control Commands
• Data Administation Commands
• Data Control Commands
SQL
HiA
Typer av SQL-kommandoer (2)
• Data Definition Commands
CREATE EVENT
CREATE INDEX
CREATE SYNONYM
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
PROCEDURE
( DDL )
• Data Manipulation Commands ( DML )
DELETE
INSERT
UPDATE
• Data Query Commands
SELECT
SQL
( DQL )
HiA
Typer av SQL-kommandoer (3)
• Transaction Control Commands
COMMIT
ROLLBACK
SAVEPOINT
• Data Administration Commands
AUDIT MESSAGE
START AUDIT
STOP AUDIT
SQL
HiA
Typer av SQL-kommandoer (4)
• Data Control Commands (1)
ALTER
DATABASE
ALTER
DBAREA
ALTER
PASSWORD
ALTER
STOGROUP
ALTER
TABLE
ALTER
TRIGGER
CHECK
DATABASE
CHECK
TABLE
COMMENT
ON
SQL
HiA
Typer av SQL-kommandoer (5)
• Data Control Commands (2)
CREATE
DATABASE
CREATE
DBAREA
CREATE
EVENT
CREATE
INDEX
CREATE
STOGROUP
CREATE
SYNONYM
CREATE
TABLE
CREATE
TRIGGER
CREATE
VIEW
SQL
HiA
Typer av SQL-kommandoer (6)
• Data Control Commands (3)
DBATTRIBUTE
DEINSTALL DATABASE
DROP
DBAREA
DROP
EVENT
DROP
INDEX
DROP
STOGROUP
DROP
SYNONYM
DROP
TABLE
DROP
TRIGGER
DROP
VIEW
GRANT
GRANT
EXECUTE ON
INSTALL
DATABASE
LABEL
LOAD
LOCK
DATABASE
SQL
HiA
Typer av SQL-kommandoer (7)
• Data Control Commands (4)
REVOKE
REVOKE EXECUTE ON
ROWCOUNT
SET DEFAULT STOGROUP
UNLOAD
UNLOCK
DATABASED
UPDATE
STATISTICS
SQL
HiA
CREATE TABLE
Oppretter en tabell
CREATE TABLE <TableName>
(<ColumnName> <DataType>[<Size>],
<ColumnName> <DataType>[<Size>], ...)
Database
Tabell_1
Tabell_2
Tabell_3
SQL
HiA
Data-typer
( SQLBase )
Char(length)
VarChar(length)
Long VarChar
Max 254 tegn
Max 254 tegn
Vilkårlig lengde, tekst og binære data
SmallInt
Integer
Decimal[(prec, scale)]
[-32768, +32767]
5 siffer
[-2147483648, + 2147483647] 10 siffer
[-999....., + 999.....]
15 siffer
precision:
Totalt ant siffer (5 default)
scale:
Ant desimaler (0 default)
Vilkårlig tall opp til 15 siffer totalt
Vilkårlig tall opp til 15 siffer totalt
Format Day.Time
Day ant dager siden 10.12.1899
Time = Frac part (0 = 12:00 AM)
Samme som DateTime (DB2 komp.)
Time part = 0
Date part = 0
Float[prec]
Number
DateTime
TimeStamp
Date
Time
SQL
HiA
INSERT
Innsetter en rad i en tabell
INSERT
VALUES
table name
view name
(
,
( column name )
constant
bind variable
system keyword
)
ADJUSTING cursor name
subselect
SQL
HiA
SELECT
SELECT
ALL
DISTINCT
FROM
SelectItem
,
*
TableSpecification
,
WHERE SearchCondition
GROUP BY
GroupingColumn
,
HAVING SearchCondition
ORDER BY
SQL
SortSpecification
,
HiA
UPDATE
Oppdaterer en tabell
UPDATE
SQL
table name
view name
correlation name
SET
column name =
expression
NULL
WHERE
search condition
CURRENT OF cursor name
CHECK EXISTS
HiA
DELETE
Sletter rad(er) i en tabell
DELETE
WHERE
SQL
table name
view name
correlation name
search condition
CURRENT OF cursor name
HiA
SQL Funksjoner
•
•
•
•
•
•
•
SQL
Aggregat funksjoner
String funksjoner
Date / Time funksjoner
Logiske funksjoner
Spesielle funksjoner
Matematikk funksjoner
Finans funksjoner
HiA
Aggregat-funksjoner
AVG
COUNT
MAX
@MEDIAN
MIN
SUM
@SDV
SQL
Gjennomsnitt
Antall
Maksimum
Middelverdi
Minimum
Sum
Standard avvik
HiA
String funksjoner
@CHAR
@CODE
@DECODE
@EXACT
@FIND
@LEFT
@LENGTH
@LOWER
@MID
@NULLVALUE
@PROPER
@REPEAT
@REPLACE
@RIGHT
@SCAN
@STRING
@SUBSTRING
@TRIM
@UPPER
@VALUE
SQL
ASCII tegn til en desimal kode
ASCII tegn til første tegn i en string
Returnerer en string, gitt et uttrykk
Sammenligner to stringer
Posisjon til string1 i string2
Første (venstre) substring
Lengden av en string
Omgjøring til små bokstaver
Returnerer en string, gitt startpunkt
Returnerer string/tall spesifisert ved y hvis x er NULL
Omgjøring av første bokstav i hvert ord til stor bokstav
Konkatenering av en string med seg selv n ganger
Erstatter tegn i en string
Siste (høyre) substring
Søker en string etter gitt mønster
Omgjøring av tall til string
Returnerer en del av en string
Redusering av blanke tegn (innledende og multiple)
Omgjøring til store bokstaver
Omgjøring fra string til tall
HiA
Date / Time funksjoner
@DATE
@DATETOCHAR
@DATEVALUE
@DAY
@HOUR
@MICROSECOND
@MINUTE
@MONTH
@MONTHBEG
@NOW
@QUARTER
@QUARTERBEG
@SECOND
@TIME
@TIMEVALUE
@WEEKBEG
@WEEKDAY
@YEAR
@YEARBEG
@YEARNO
SQL
Konvertering til dato
Edit en dato
Edit en dato
Dag i måneden
Time til en dag
Mikrosekund
Minutt i en time
Måneden i et år
Første dag i en måned
Gjeldende Date / Time
Tall som representerer kvartal
Første dag i et kvartal
Sekunder av et minutt
Returnerer date/time
Returnerer en date/time verdi fra hh:mm:ss
Mandag av uke
Dag av en uke
År relativt til 1900
Første dag i året
Kalender år
HiA
Matematikk funksjoner
@ABS
@ACOS
@ASIN
@ATAN
@ATAN2
@COS
@EXP
@FACTORIAL
@INT
@LN
@LOG
@MOD
@PI
@ROUND
@SIN
@SQRT
@TAN
SQL
Absolutt-verdi
Arcus cosinus
Arcus sinus
Arcus tangens
To-kvadrant arcus tangens
Cosinus
Eksponential-funksjon
Fakultet
Heltallsdel
Naturlige logaritme
10’er logaritme
Divisjonsrest
Tallet Pi (=3.14159265...)
Avrunding
Sinus
Kvadratrot
Tangens
HiA
Finans funksjoner
@CTERM
@FV
@PMT
@PV
@RATE
@SLN
@SYD
@TERM
SQL
Antall perioder for å oppnå en fremtidig verdi
Fremtidig verdi av ekvidistante innbetalinger
Periodiske innbetalinger ved nedbetaling
Verdi av ekvidistante innbetalinger
Renter for å vokse til gitt beløp
Rettlinjet verdi-foringelse
Sum av et års verdi-foringelse
Antall innbetalings-perioder for gitt investering
HiA
Spesielle funksjoner
@CHOOSE
@DECIMAL
@DECRYPT
@DECODE
@HEX
@LICS
SQL
Velger en verdi basert på korrelasjon
Desimal verdi av en hexadesimal string
Dekrypting av et passord
Returnerer en string, gitt et uttrykk
Hexadesimal string fra et desimal-tall
Sortering basert på internasjonalt tegn-sett
HiA
Logiske funksjoner
@IF
@ISNA
SQL
Tester og returnerer 1 hvis TRUE, 2 hvis FALSE
Returnerer TRUE hvis NULL
HiA
UNLOAD
Laster data fra en database ut til en fil av gitt format
UNLOAD
SQL
COMPRESS DATA
ASCII
DATA
DIF
DATA
COMPRESS
ON
SQL
CLIENT
SERVER
‘file name’
CONTROL ‘file name’ OVERWRITE
‘file name’
CONTROL ‘file name’
‘file name’
CONTROL ‘file name’
DATABASE
SHEMA
ALL
source table
ALL
source table
OVERWRITE
source table
OVERWRITE
‘file name’
CONTROL ‘file name’
OVERWRITE
LOG ‘logfile name’
HiA
LOAD
Laster data fra en fil av gitt format inn til en tabell i databasen
LOAD
SQL
COMPRESS
ON
SQL
‘file name’
CONTROL ‘file name’
ASCII
‘file name’
CONTROL ‘file name’
DIF
‘file name’
CONTROL ‘file name’
CLIENT
SERVER
LOG ‘logfile name’
table name
table name
START AT line
HiA
ALTER TABLE
Endrer på kolonne-strukturen i en tabell
ALTER TABLE
table name
DROP
,
column name
ADD
column name data type
(size)
RENAME
,
column name
TABLE
NOT NULL
NOT NULL WITH DEFAULT
new name
new name
,
MODIFY
column name
data type (length)
SQL
NULL
NOT NULL
NOT NULL WITH DEFAULT
HiA
ALTER TABLE
(Referential Integrity)
Endrer på PRIMARY KEY / FOREIGN KEY strukturen i en tabell
ALTER TABLE
table name
PRIMARY KEY
,
( column name )
DROP
,
,
( column name ) REFERENCES parent table name
FOREIGN KEY
SQL
DROP
foreign key
name
ON DELETE
RESTRICT
CASCADE
SET NULL
HiA
ALTER TABLE (Error Message)
Endrer på USERERROR strukturen i en tabell
ALTER TABLE
table name
ADD
DROP
MODIFY
USERERROR
FOR
SQL
error number
‘DELETE_PARENT’
‘UPDATE_PARENT’
‘UPDATE_DEPENDENT’
OF
PRIMARY KEY
FOREIGN KEY
key name
HiA
ALTER TRIGGER
Enable / Disable en trigger
ALTER TRIGGER
SQL
trigger name
ENABLE
DISABLE
HiA
COMMIT
Commits alle endringene til databasen siden forrige COMMIT eller ROLLBACK.
Commits gjelder alle SqlHandles / Cursors som gjeldende applikasjon
har koblet opp mot databasen.
COMMIT
WORK
SQL
TRANSACTION <id> FORCE
HiA
ROLLBACK
Omgjør siste transaksjon
ROLLBACK
savepoint identifier
TRANSACTION <id> FORCE
SQL
HiA
SAVEPOINT
Genererer SAVEPOINT til bruk ved ROLLBACK
SAVEPOINT savepoint identifier
SQL
HiA
CREATE INDEX
Oppretter en indeks
CREATE
INDEX index name
UNIQUE
ON table name
CLUSTERED HASHED
,
( column name
)
ASC
DESC
PCTFREE integer constant
SIZE integer value
Max size = 6 + number of + sum of
columns in
length of all
index
columns in
index
SQL
ROWS
BUCKETS
<= 255
HiA
CREATE SYNONYM
Oppretter synonym (alias) navn til en tabell
CREATE
SYNONYM synonym name
PUBLIC
FOR
authorization ID
SQL
table name
view name
HiA
ROWCOUNT
Returnerer antall rader i en tabell
ROWCOUNT tablename
SQL
HiA
UNION
Genererer resultatsett som union av multiple SELECT
UNION
ALL
select command
ORDER BY
,
integer constant
ASC
DESC
SELECT …
UNION ALL
SELECT …
UNION ALL
SELECT …
...
SQL
Duplikater blir ikke eliminert
HiA
UPDATE STATISTICS
Oppdaterer statistikk-informasjon i databasen.
Benyttes til å generere applikasjonsplan.
UPDATE
STATISTICS
INDEX index name
SET
,
system catalog column name = expression
,
DISTINCTCOUNT (index key) = expression
TABLE
SET
,
system catalog column name = expression
DATABASE
SQL
HiA
Authority Level
SYSADM
DBA
RESOURCE
CONNECT
SQL
HiA
Database Authority
GRANT
RESOURCE
TO
,
AuthID
DBA
,
CONNECT TO AuthID
SQL
IDENTIFIED BY
,
Password
HiA
Table Privileges
,
GRANT
ALL
SELECT
INSERT
DELETE
INDEX
ALTER
UPDATE
,
( ColumnName )
ON
,
TableName
ViewName
SQL
TO
,
AuthID
PUBLIC
HiA
SAL funksjonalitet i SQLBase (1)
SqlClearImmediate
SqlClose
SqlCommit
SqlConnect
SqlDisconnect
SqlDropStoredCmd
SqlError
SqlExecute
SqlExists
SqlFetchNext
SqlFetchPrevious
SqlFetchRow
SqlGetErrorPosition
SqlGetErrorText
SqlGetModifiedRows
SqlGetParameter
SqlGetParameterAll
SqlGetResultSetCount
SqlGetRollbackFlag
SQL
Disconnect Sql Handle benyttet av SqlImmediate
Lukker en navngitt cursor
Commit gjeldende SQL transaksjon
Connect en Sql Handle til en database
Disconnect en Sql Handle fra en database
Sletter en lagret kommando eller lagret prosedyre
Henter gjeldende error kode for gitt Sql Handle
Eksekverer et SQL statement, lagret kommendo eller lagret prosedyre
Sjekker eksistens av spesifisert(e) rad(er)
Henter neste rad i et resultatsett
Henter forrige rad i et resultatsett
Henter gitt rad i et resultatsett
Returnerer offset i en error innen et SQL statement
Returnerer error-tekst for et gitt SQL error number
Returnerer antall endrete rader i en INSERT, UPDATE eller DELETE
Returnerer en databaseparameter
Returnerer en databaseparameter
Returnerer antall rader i et resultatsett
Returnerer database rollback flag
HiA
SAL funksjonalitet i SQLBase (2)
SqlImmediate
SqlOpen
SqlPrepare
SqlPrepareAndExecute
SqlRetrieve
SqlSetIsolationLevel
SqlSetLockTimeout
SqlSetParameter
SqlSetParameterAll
SqlSetResultSet
SqlStor
SQL
Kompilerer og eksekverer et SQL statement
Navngir en cursor og eksekverer et SQL statement
Kompilerer et SQL statement eller ikke-lagret prosedyre
Kompilerer og eksekverer et SQL statement eller ikke-lagret prosedyre
Henter en lagret kommando eller lagret prosedyre
Setter isolasjonsnivå
Setter timeout periode for venting på en lås
Setter en database parameter
Setter en database parameter
Setter resultatsett mode på/av
Kompilerer og lagrer en kommando eller prosedyre
HiA
Relaterte SQLTalk kommandoer
ERASE
EXECUTE
PERFORM
PREPARE
SET TRACE
SET TRACEFILE
SHOW TRACE
SHOW TRACEFILE
STORE
SQL
Sletter en lagret kommando eller lagret prosedyre
Eksekverer en lagret kommando eller lagret prosedyre
Eksekverer enten en preparert SQL kommando / lagret prosedyre
eller gjenfinner en lagret kommando / lagret prosedyre
Kompilerer en SQL kommando eller ikke-lagret prosedyre
Enable/Diasable statement tracing
Trace output til server-fil eller servers aktivitets-skjerm
Viser enabling/disabling av TRACE
Viser trace output (server-fil eller aktivitets-skjerm)
Kompilerer og lagrer en kommando eller prosedyre i systemkatalogene
(og dens eksekveringsplan for seinere eksekvering)
HiA
End
SQL
HiA