DDL and DML - Mr-JNP/database-in-a-nutshell GitHub Wiki
DDL is short name of Data Definition Language, which deals with database schemas and descriptions, of how the data should reside in the database.
CREATE - to create a database and its objects like (table, index, views, store procedure, function, and triggers)
ALTER - alters the structure of the existing database
DROP - delete objects from the database
-- Syntax
CREATE DATABASE <database_name> [ COLLATE collation_name ]
GO
-- Example
CREATE DATABASE testDB COLLATE THAI_CI_AS
GO
-- Syntax
DROP DATABASE <database_name>
GO
-- Example
DROP DATABASE testDB
GO
-- Syntax
CREATE TABLE database_name.schema_name.table_name (
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
...
);
-- Example
CREATE TABLE [dbo].[Students](
[StudentID] [int] NOT NULL,
[FirstName] [nchar](20) NULL,
[LastName] [nchar](20) NULL,
[NickName] [nchar](20) NULL,
[Email] [nchar](50) NULL,
[PhoneNumber] [nchar](10) NULL,
[Sex] [nchar](10) NULL,
[BirthDate] [date] NULL
);
-- Syntax
DROP TABLE <table_name>
GO
-- Example
DROP TABLE Staff
GO
-- Syntax
ALTER TABLE table_name
ADD column_1 column_definition,
column_2 column_definition,
...
column_n column_definition;
-- Example
ALTER TABLE employees
ADD last_name VARCHAR(50),
first_name VARCHAR(40);
-- Syntax
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
-- Example
ALTER TABLE employees
ALTER COLUMN last_name VARCHAR(75) NOT NULL;
-- Syntax
ALTER TABLE table_name
ADD PRIMARY KEY (column_name)
-- Example
ALTER TABLE Staff
ADD PRIMARY KEY (StaffID)
-- Syntax
ALTER TABLE table_name
ADD FOREIGN KEY (column_name_in_the_table)
REFERENCES table_name_containing_PK(column_name_of_PK)
-- Example
ALTER TABLE Staff
ADD FOREIGN KEY (StaffDeptID)
REFERENCES Department(DeptID)
-- Syntax
CREATE TABLE table_name
(
col_name1 datatype1 NOT NULL PRIMARY KEY,
col_name2 datatype2 NOT NULL,
col_name3 datatype3 FOREIGN KEY REFERENCES table2(table2_primary_key),
...
)
-- Example
CREATE TABLE NewStaff
(
StaffID int NOT NULL PRIMARY KEY,
LastName varchar(50) NOT NULL,
FirstName varchar(50),
StaffDeptID int FOREIGN KEY REFERENCES Department(DeptID)
)
DML is short name of Data Manipulation Language which deals with data manipulation and includes most common SQL statements such SELECT, INSERT, UPDATE, DELETE, etc., and it is used to store, modify, retrieve, delete and update data in a database.
SELECT - retrieve data from a database
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - Delete all records from a database table
-- Syntax
INSERT INTO table_name VALUES (value1,value2,value3,...);
-- Example
INSERT INTO Staff VALUES (118, 'A', 'B');
-- Syntax
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...),
(value1,value2,value3,...),
(value1,value2,value3,...);
INSERT INTO Staff (StaffID, LastName, FirstName)
VALUES (126, 'X', 'A'),
(127, 'Y', 'B'),
(128, 'Z', 'C');
-- Syntax
UPDATE table_name
SET column1=value1, column2=value2, ...
WHERE some_column=some_value;
-- Example
UPDATE Staff
SET Address = 'Bangkok'
WHERE StaffID = 16
-- Syntax
DELETE FROM table_name
WHERE some_column = some_value;
-- Example
DELETE FROM Staff WHERE StaffID = 124