Datamanipulationsspråk

Ett datamanipulationsspråk ( DML ) är ett datorprogrammeringsspråk som används för att lägga till (infoga), ta bort och ändra (uppdatera) data i en databas . En DML är ofta ett underspråk till ett bredare databasspråk som SQL , där DML består av några av operatörerna i språket. Skrivskyddat val av data särskiljs ibland som en del av ett separat datafrågespråk (DQL), men det är nära besläktat och anses ibland också vara en komponent i en DML; vissa operatörer kan utföra både val (läsning) och skrivning.

Ett populärt datamanipuleringsspråk är det för Structured Query Language (SQL), som används för att hämta och manipulera data i en relationsdatabas . Andra former av DML är de som används av IMS /DLI, CODASYL -databaser, såsom IDMS och andra.

SQL

I SQL omfattar datamanipuleringsspråket SQL-dataändringssatserna , som modifierar lagrad data men inte schemat eller databasobjekten. Manipulering av beständiga databasobjekt, t.ex. tabeller eller lagrade procedurer , via SQL-schemasatser, snarare än data som lagras i dem, anses vara en del av ett separat datadefinitionsspråk (DDL). I SQL är dessa två kategorier likartade i sin detaljerade syntax, datatyper, uttryck etc., men distinkta i sin övergripande funktion.

SQL -dataändringssatserna är en delmängd av SQL-datasatserna ; detta innehåller också SELECT- frågesatsen, som strängt taget är en del av DQL, inte DML. I vanlig praxis görs dock inte denna distinktion och SELECT anses allmänt vara en del av DML, så DML består av alla SQL- datasatser, inte bara SQL-dataändringssatser . Formen SELECT ... INTO ... kombinerar både urval och manipulation, och anses därför strikt vara DML eftersom den manipulerar (dvs. modifierar) data.

Datamanipuleringsspråk har sin funktionella förmåga organiserad av det initiala ordet i ett uttalande, som nästan alltid är ett verb . När det gäller SQL är dessa verb:

Till exempel, kommandot för att infoga en rad i tabellanställda :

          INSERT  INTO  anställda  (  first_name  ,  last_name  ,  fname  )  VÄRDEN  (  'John'  ,  'Capita'  ,  'xcapit00')  ; 

Varianter

De flesta SQL-databasimplementeringar utökar sina SQL-möjligheter genom att tillhandahålla imperativa , dvs. procedurspråk. Exempel på dessa är Oracles PL/SQL och IBM Db2 : s SQL_PL .

Datamanipuleringsspråk tenderar att ha många olika smaker och möjligheter mellan databasleverantörer. Det har funnits ett antal standarder för SQL av ANSI , men leverantörer tillhandahåller fortfarande sina egna tillägg till standarden utan att implementera hela standarden.

Datamanipulationsspråk är indelade i två typer, procedurprogrammering och deklarativ programmering .

Datamanipuleringsspråk användes till en början bara inom datorprogram , men med tillkomsten av SQL har databasadministratörer kommit att användas interaktivt.

Se även

Uttalanden

Besläktade språk

externa länkar