1 / 44

SQL

SQL. SQL. Syntaks. SQL. SQL ( S tructured Q uery L anguage, 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.

ciel
Télécharger la présentation

SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL SQL Syntaks

  2. SQL • SQL (Structured Query Language, uttales: sequel eller ess-que-ell)er et komplett sett av kommandoer for aksess til en relasjons-database. • SQLer i dag standard database-språk for relasjons-databaser. • SQLbenyttes til: - Opprette datase-tabeller - Lagre data - Gjenfinne data - Endre data - Endre tabell-strukturer - Kombinere og beregne data - Ta hånd om database-sikkerhet • SQLer mengde-orientert, dvs kan anvendes på en gruppe av recordseller enkelt-record. • SQLer ikke-prosedyrisk, men kan innebygges i prosedyre-språk.

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

  4. Typer av SQL-kommandoer (2) • Data Definition Commands ( DDL )CREATE EVENTCREATE INDEXCREATE SYNONYMCREATE TABLECREATE TRIGGERCREATE VIEWPROCEDURE • Data Manipulation Commands ( DML )DELETEINSERTUPDATE • Data Query Commands ( DQL )SELECT

  5. Typer av SQL-kommandoer (3) • Transaction Control CommandsCOMMITROLLBACKSAVEPOINT • Data Administration CommandsAUDIT MESSAGESTART AUDITSTOP AUDIT

  6. Typer av SQL-kommandoer (4) • Data Control Commands (1)ALTER DATABASEALTER DBAREAALTER PASSWORDALTER STOGROUPALTER TABLEALTER TRIGGERCHECK DATABASECHECK TABLECOMMENT ON

  7. Typer av SQL-kommandoer (5) • Data Control Commands (2)CREATE DATABASECREATE DBAREACREATE EVENTCREATE INDEXCREATE STOGROUPCREATE SYNONYMCREATE TABLECREATE TRIGGERCREATE VIEW

  8. Typer av SQL-kommandoer (6) • Data Control Commands (3)DBATTRIBUTEDEINSTALL DATABASEDROP DBAREADROP EVENTDROP INDEXDROP STOGROUPDROP SYNONYMDROP TABLEDROP TRIGGERDROP VIEWGRANTGRANT EXECUTE ONINSTALL DATABASELABELLOADLOCK DATABASE

  9. Typer av SQL-kommandoer (7) • Data Control Commands (4)REVOKEREVOKE EXECUTE ONROWCOUNTSET DEFAULT STOGROUPUNLOADUNLOCK DATABASEDUPDATE STATISTICS

  10. CREATE TABLE Oppretter en tabell CREATE TABLE <TableName> (<ColumnName> <DataType>[<Size>], <ColumnName> <DataType>[<Size>], ...) Database Tabell_1 Tabell_2 Tabell_3

  11. Data-typer ( SQLBase ) Char(length) Max 254 tegn VarChar(length) Max 254 tegn Long VarChar Vilkårlig lengde, tekst og binære data SmallInt [-32768, +32767] 5 siffer Integer [-2147483648, + 2147483647] 10 siffer Decimal[(prec, scale)] [-999....., + 999.....] 15 siffer precision: Totalt ant siffer (5 default) scale: Ant desimaler (0 default) Float[prec] Vilkårlig tall opp til 15 siffer totalt Number Vilkårlig tall opp til 15 siffer totalt DateTime Format Day.Time Day ant dager siden 10.12.1899 Time = Frac part (0 = 12:00 AM) TimeStamp Samme som DateTime (DB2 komp.) Date Time part = 0 Time Date part = 0

  12. INSERT Innsetter en rad i en tabell INSERT table name view name , ( column name ) VALUES ( constant ) bind variable ADJUSTING cursor name system keyword subselect

  13. SELECT SELECT SelectItem ALL , DISTINCT * FROM TableSpecification , WHERE SearchCondition GROUP BY GroupingColumn , HAVING SearchCondition ORDER BY SortSpecification ,

  14. UPDATE Oppdaterer en tabell UPDATE table name view name correlation name SET column name = expression NULL WHERE search condition CHECK EXISTS CURRENT OF cursor name

  15. DELETE Sletter rad(er) i en tabell DELETE table name view name correlation name WHERE search condition CURRENT OF cursor name

  16. SQL Funksjoner • Aggregat funksjoner • String funksjoner • Date / Time funksjoner • Logiske funksjoner • Spesielle funksjoner • Matematikk funksjoner • Finans funksjoner

  17. Aggregat-funksjoner AVG Gjennomsnitt COUNT Antall MAX Maksimum @MEDIAN Middelverdi MIN Minimum SUM Sum @SDV Standard avvik

  18. String funksjoner @CHAR ASCII tegn til en desimal kode @CODE ASCII tegn til første tegn i en string @DECODE Returnerer en string, gitt et uttrykk @EXACT Sammenligner to stringer @FIND Posisjon til string1 i string2 @LEFT Første (venstre) substring @LENGTH Lengden av en string @LOWER Omgjøring til små bokstaver @MID Returnerer en string, gitt startpunkt @NULLVALUE Returnerer string/tall spesifisert ved y hvis x er NULL @PROPER Omgjøring av første bokstav i hvert ord til stor bokstav @REPEAT Konkatenering av en string med seg selv n ganger @REPLACE Erstatter tegn i en string @RIGHT Siste (høyre) substring @SCAN Søker en string etter gitt mønster @STRING Omgjøring av tall til string @SUBSTRING Returnerer en del av en string @TRIM Redusering av blanke tegn (innledende og multiple) @UPPER Omgjøring til store bokstaver @VALUE Omgjøring fra string til tall

  19. Date / Time funksjoner @DATE Konvertering til dato @DATETOCHAR Edit en dato @DATEVALUE Edit en dato @DAY Dag i måneden @HOUR Time til en dag @MICROSECOND Mikrosekund @MINUTE Minutt i en time @MONTH Måneden i et år @MONTHBEG Første dag i en måned @NOW Gjeldende Date / Time @QUARTER Tall som representerer kvartal @QUARTERBEG Første dag i et kvartal @SECOND Sekunder av et minutt @TIME Returnerer date/time @TIMEVALUE Returnerer en date/time verdi fra hh:mm:ss @WEEKBEG Mandag av uke @WEEKDAY Dag av en uke @YEAR År relativt til 1900 @YEARBEG Første dag i året @YEARNO Kalender år

  20. Matematikk funksjoner @ABS Absolutt-verdi @ACOS Arcus cosinus @ASIN Arcus sinus @ATAN Arcus tangens @ATAN2 To-kvadrant arcus tangens @COS Cosinus @EXP Eksponential-funksjon @FACTORIAL Fakultet @INT Heltallsdel @LN Naturlige logaritme @LOG 10’er logaritme @MOD Divisjonsrest @PI Tallet Pi (=3.14159265...) @ROUND Avrunding @SIN Sinus @SQRT Kvadratrot @TAN Tangens

  21. Finans funksjoner @CTERM Antall perioder for å oppnå en fremtidig verdi @FV Fremtidig verdi av ekvidistante innbetalinger @PMT Periodiske innbetalinger ved nedbetaling @PV Verdi av ekvidistante innbetalinger @RATE Renter for å vokse til gitt beløp @SLN Rettlinjet verdi-foringelse @SYD Sum av et års verdi-foringelse @TERM Antall innbetalings-perioder for gitt investering

  22. Spesielle funksjoner @CHOOSE Velger en verdi basert på korrelasjon @DECIMAL Desimal verdi av en hexadesimal string @DECRYPT Dekrypting av et passord @DECODE Returnerer en string, gitt et uttrykk @HEX Hexadesimal string fra et desimal-tall @LICS Sortering basert på internasjonalt tegn-sett

  23. Logiske funksjoner @IF Tester og returnerer 1 hvis TRUE, 2 hvis FALSE @ISNA Returnerer TRUE hvis NULL

  24. UNLOAD Laster data fra en database ut til en fil av gitt format UNLOAD SQL ‘file name’ source table COMPRESS DATA CONTROL ‘file name’ OVERWRITE ALL ASCII ‘file name’ source table DATA CONTROL ‘file name’ OVERWRITE DIF ‘file name’ source table DATA CONTROL ‘file name’ OVERWRITE DATABASE ‘file name’ COMPRESS SHEMA CONTROL ‘file name’ OVERWRITE ALL ON CLIENT LOG ‘logfile name’ SERVER

  25. LOAD Laster data fra en fil av gitt format inn til en tabell i databasen LOAD SQL ‘file name’ COMPRESS CONTROL ‘file name’ ASCII ‘file name’ table name CONTROL ‘file name’ DIF ‘file name’ CONTROL ‘file name’ table name ON CLIENT LOG ‘logfile name’ START AT line SERVER

  26. ALTER TABLE Endrer på kolonne-strukturen i en tabell ALTER TABLE table name , DROP column name ADD column name data type (size) NOT NULL NOT NULL WITH DEFAULT , RENAME column name new name TABLE new name , MODIFY column name data type (length) NULL NOT NULL NOT NULL WITH DEFAULT

  27. ALTER TABLE (Referential Integrity) Endrer på PRIMARY KEY / FOREIGN KEY strukturen i en tabell ALTER TABLE table name , PRIMARY KEY ( column name ) DROP , , FOREIGN KEY ( column name ) REFERENCES parent table name DROP foreign key name ON DELETE RESTRICT CASCADE SET NULL

  28. ALTER TABLE (Error Message) Endrer på USERERROR strukturen i en tabell ALTER TABLE table name ADD USERERROR error number DROP MODIFY FOR ‘DELETE_PARENT’ OF PRIMARY KEY ‘UPDATE_PARENT’ FOREIGN KEY key name ‘UPDATE_DEPENDENT’

  29. ALTER TRIGGER Enable / Disable en trigger ALTER TRIGGER trigger name ENABLE DISABLE

  30. 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 TRANSACTION <id> FORCE

  31. ROLLBACK Omgjør siste transaksjon ROLLBACK savepoint identifier TRANSACTION <id> FORCE

  32. SAVEPOINT Genererer SAVEPOINT til bruk ved ROLLBACK SAVEPOINT savepoint identifier

  33. CREATE INDEX Oppretter en indeks CREATE INDEX index name UNIQUE CLUSTERED HASHED , ON table name ( column name ) ASC DESC PCTFREE integer constant SIZE integer value ROWS BUCKETS Max size = 6 + number of + sum of <= 255 columns in length of all index columns in index

  34. CREATE SYNONYM Oppretter synonym (alias) navn til en tabell CREATE SYNONYM synonym name PUBLIC FOR table name authorization ID view name

  35. ROWCOUNT Returnerer antall rader i en tabell ROWCOUNT tablename

  36. 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 … ... Duplikater blir ikke eliminert

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

  38. Authority Level SYSADM DBA RESOURCE CONNECT

  39. Database Authority , GRANT RESOURCE TO AuthID DBA , , CONNECT TO AuthID IDENTIFIED BY Password

  40. Table Privileges , GRANT ALL SELECT INSERT DELETE INDEX ALTER UPDATE , ( ColumnName ) , , ON TableName TO AuthID ViewName PUBLIC

  41. SAL funksjonalitet i SQLBase (1) SqlClearImmediate Disconnect Sql Handle benyttet av SqlImmediate SqlClose Lukker en navngitt cursor SqlCommit Commit gjeldende SQL transaksjon SqlConnect Connect en Sql Handle til en database SqlDisconnect Disconnect en Sql Handle fra en database SqlDropStoredCmd Sletter en lagret kommando eller lagret prosedyre SqlError Henter gjeldende error kode for gitt Sql Handle SqlExecute Eksekverer et SQL statement, lagret kommendo eller lagret prosedyre SqlExists Sjekker eksistens av spesifisert(e) rad(er) SqlFetchNext Henter neste rad i et resultatsett SqlFetchPrevious Henter forrige rad i et resultatsett SqlFetchRow Henter gitt rad i et resultatsett SqlGetErrorPosition Returnerer offset i en error innen et SQL statement SqlGetErrorText Returnerer error-tekst for et gitt SQL error number SqlGetModifiedRows Returnerer antall endrete rader i en INSERT, UPDATE eller DELETE SqlGetParameter Returnerer en databaseparameter SqlGetParameterAll Returnerer en databaseparameter SqlGetResultSetCount Returnerer antall rader i et resultatsett SqlGetRollbackFlag Returnerer database rollback flag

  42. SAL funksjonalitet i SQLBase (2) SqlImmediate Kompilerer og eksekverer et SQL statement SqlOpen Navngir en cursor og eksekverer et SQL statement SqlPrepare Kompilerer et SQL statement eller ikke-lagret prosedyre SqlPrepareAndExecute Kompilerer og eksekverer et SQL statement eller ikke-lagret prosedyre SqlRetrieve Henter en lagret kommando eller lagret prosedyre SqlSetIsolationLevel Setter isolasjonsnivå SqlSetLockTimeout Setter timeout periode for venting på en lås SqlSetParameter Setter en database parameter SqlSetParameterAll Setter en database parameter SqlSetResultSet Setter resultatsett mode på/av SqlStor Kompilerer og lagrer en kommando eller prosedyre

  43. Relaterte SQLTalk kommandoer ERASE Sletter en lagret kommando eller lagret prosedyre EXECUTE Eksekverer en lagret kommando eller lagret prosedyre PERFORM Eksekverer enten en preparert SQL kommando / lagret prosedyre eller gjenfinner en lagret kommando / lagret prosedyre PREPARE Kompilerer en SQL kommando eller ikke-lagret prosedyre SET TRACE Enable/Diasable statement tracing SET TRACEFILE Trace output til server-fil eller servers aktivitets-skjerm SHOW TRACE Viser enabling/disabling av TRACE SHOW TRACEFILE Viser trace output (server-fil eller aktivitets-skjerm) STORE Kompilerer og lagrer en kommando eller prosedyre i systemkatalogene (og dens eksekveringsplan for seinere eksekvering)

  44. End

More Related