Vad är DDL?
Data Definition Language hjälper dig att definiera databasens struktur eller schema. DDL-kommandon hjälper dig att skapa databasens struktur och andra databasobjekt. Dess kommandon är automatiskt bekräftade så att ändringarna sparas permanent i databasen. Den fullständiga formen av DDL är Data Definition Language.
I den här handledningen om skillnaden mellan DML och DDL får du lära dig följande:
- Vad är DDL?
- Vad är DML?
- Varför DDL?
- Varför DML?
- Skillnaden mellan DDL och DML i DBMS
- Kommandon för DDL
- Kommandon för DML
- Exempel på DDL-kommando
- Exempel på DML-kommando
Vad är DML?
DML-kommandon är det för att du ska kunna hantera data som lagras i databasen, även om DML-kommandon inte är automatiskt kommenderade. Dessutom är de inte permanenta. Det är alltså möjligt att återkalla operationen. Den fullständiga formen av DML är Data Manipulation Language.
Nedan följer de viktigaste skillnaderna mellan DDL och DML i DBMS:
NYGTIGA SKILLnader:
- Data Definition Language (DDL) hjälper dig att definiera databasens struktur eller schema, medan Data Manipulation Language (DML-kommandot) gör det möjligt för dig att hantera de data som lagras i databasen.
- DDL-kommandot används för att skapa databasschemat medan DML-kommandot används för att fylla på och manipulera databasen
- Vid jämförelse mellan DDL och DML påverkar DDL-kommandon hela tabellen medan DML-kommandon endast påverkar en eller flera rader.
- I DDL kan SQL Statement inte rullas tillbaka medan SQL Statement i DML kan rullas tillbaka.
- DDL är en deklarativ metod medan DML är en imperativ metod.
- Viktiga DDL-kommandon är: 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE, etc. medan viktiga DML-kommandon är: 1) INSERT, 2) UPDATE, 3) DELETE, 4) MERGE, etc.
Varför DDL?
Här är skälen till att använda DDL-metoden:
- Gör det möjligt att lagra delade data
- Dataoberoende förbättrad integritet
- Gör det möjligt för flera användare
- Förbättrad säkerhet effektiv dataåtkomst
Varför DML?
Här är fördelarna med DML:
- DML-anvisningarna gör det möjligt att ändra data som lagras i en databas.
- Användare kan specificera vilka data som behövs.
- DML erbjuder många olika varianter och möjligheter mellan olika databasleverantörer.
- Det erbjuder en effektiv mänsklig interaktion med systemet.
Skillnaden mellan DDL och DML i DBMS
Här är den huvudsakliga skillnaden mellan DDL- och DML-kommandon:
DDL | DML |
Data Definition Language (DDL) hjälper dig att definiera databasens struktur eller schema. | Data Manipulation Language (DML-kommando) gör det möjligt att hantera de data som lagras i databasen. |
DDL-kommandot används för att skapa databasschemat. | DML-kommando används för att fylla på och manipulera databasen |
DDL klassificeras inte vidare. | DML klassificeras som procedurella och icke-procedurella DML:er och procedurella DML:er. |
CREATE, ALTER, DROP, TRUNCATE OCH COMMENT och RENAME osv. | INSERT, UPDATE, DELETE, MERGE, CALL osv. |
Det definierar tabellens kolumn. | Det lägger till eller uppdaterar raden i tabellen |
DDL-satser påverkar hela tabellen. | DML påverkar en eller flera rader. |
SQL Statement can’t be rollback | SQL Statement can be a rollback |
DDL är deklarativt. | DML är tvingande. |
Kommandon för DDL
Fem typer av DDL-kommandon är:
CREATE
CREATE-anvisningar används för att definiera schemat för databasstrukturen:
Syntax:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES);
Till exempel:
Create database university;Create table students;Create view for_students;
DROP
Drops-kommandon tar bort tabeller och databaser från RDBMS.
Syntax:
DROP TABLE ;
Till exempel:
Drop object_type object_name;Drop database university;Drop table student;
ALTER
Med kommandotAlters kan du ändra databasens struktur.
Syntax:
För att lägga till en ny kolumn i tabellen
ALTER TABLE table_name ADD column_name COLUMN-definition;
För att ändra en befintlig kolumn i tabellen:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Till exempel:
Alter table guru99 add subject varchar;
TRUNCATE:
Detta kommando används för att ta bort alla rader från tabellen och frigöra utrymmet som innehåller tabellen.
Syntax:
TRUNCATE TABLE table_name;
Exempel:
TRUNCATE table students;
Kommandon för DML
Här är några viktiga DML-kommandon:
- INSERT
- UPDATE
- DELETE
INSERT:
Detta är ett uttalande som är en SQL-fråga. Det här kommandot används för att infoga data i raden i en tabell.
Syntax:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Till exempel:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
UPDATE:
Detta kommando används för att uppdatera eller ändra värdet på en kolumn i tabellen.
Syntax:
UPDATE table_name SET
Till exempel:
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
DELETE:
Detta kommando används för att ta bort en eller flera rader från en tabell.
Syntax:
DELETE FROM table_name ;
Till exempel:
DELETE FROM students WHERE FirstName = 'Jhon';
DDL-kommando Exempel
CREATE
Syntax:
CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);
Här:
- Parametern tableName anger namnet på den tabell som du ska skapa.
- Parametrarna column_1, column_2… anger de kolumner som ska läggas till i tabellen.
- En kolumn ska anges som antingen NULL eller NOT NULL. Om du inte anger det tar SQL Server NULL som standard
Exempel:
CREATE TABLE Students(Student_ID Int,Student_Name Varchar(10))
ALTER
Syntax:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Exempel:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
DROP
Syntax:
DROP TABLE <tableName>;
Parametern tableName är namnet på den tabell som ska tas bort.
Exempel:
DROP TABLE COURSE_NAMES;
Exempel på DML-kommando
INSERT
I PL/SQL kan vi lägga in data i en tabell med SQL-kommandot INSERT INTO. Det här kommandot tar tabellnamnet, tabellkolumnen och kolumnvärdena som indata och infogar värdet i grundtabellen.
Kommandot INSERT kan också ta värdena direkt från en annan tabell med hjälp av ”SELECT”-kommandot i stället för att ange värdena för varje kolumn. Genom SELECT-anvisningen kan vi infoga så många rader som grundtabellen innehåller.
Syntax:
BEGIN INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>) VALUES(<valuel><value2>,...:<value_n>);END;
Syntaxen ovan visar kommandot INSERT INTO. Tabellnamnet och värdena är obligatoriska fält, medan kolumnnamnen inte är obligatoriska om insättningsanvisningarna har värden för alla tabellens kolumner.
Nyckelordet ”VALUES” är obligatoriskt om värdena anges separat, som visas ovan.
Syntax:
BEGIN INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>) SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;END;
Syntaxen ovan visar kommandot INSERT INTO som hämtar värdena direkt från <tabell_namn2> med hjälp av kommandot SELECT.
Nyckelordet ”VALUES” bör inte finnas med i det här fallet, eftersom värdena inte anges separat.
DELETE
Nedan följer syntaxen för att radera tabellen
Syntax:
DROP TABLE <TableName>;
Parametern TableName är namnet på den tabell som ska tas bort.
Exempel:
DROP TABLE COURSE_NAMES;
SELECT
För att visa data i SQL Server använder vi SELECT-anvisningen.
Syntax:
SELECT expressionFROM tableName;
Exempel:
SELECT * FROM Course;