DDL =Data definition language : CREATE, ALTER, DROP.
DML = Data manipulation language : INSERT, UPDATE, DELETE, SELECT
Exemple de code de création d’un table :
-- Create a new table call 'Authors' in schema ' Books'
CREATETABLE Books.Authors (
AuthorID INTNOTNULLPRIMARYKEY,
FirstName NOTNULL,
LastName NOTNULL,
Birthdate DATETIME2
);
- - : commentaire
; à la fin
Une table rassemble des informations de même nature. Toutes les lignes de la table Books sont des livres. Toutes les colonnes (champs) sont en rapport avec le livre.
Toutes ces tables font parties d’une base de données.
Pour chaque colonne :
Nom unique dans la table
Utiliser des noms descriptifs en évitant des acronymes
Éviter les espaces et utiliser l’underscore ou la notation Camel
Type de données que la colonne peut strocher
Text, nombre, dates, images...
Très différents selon l'éditeur
SQL Server VARCHAR(MAX) et en PostgreSQL TEXT
Commun : CHAR(50), INT (entier), DATE (pas time on time zone), DECIMAL(5,2), 5 nb au total dont 2 décimales (999,99 maxi).
Créer un schéma
ADS : pour SQL Server : Base de données > Security > Schemas.
dbo : Database Owner, schéma par défaut (public dans PostgresSQL).
CREATESCHEMA products;
Créer des tables
Clic droit sur la base de données TowTrees > New query (ou sélectionner la base de données TowTrees dans la liste déroulante en haut de la fenêtre
Pour exécuter le code : F5, pour exécuter une partie du code, sélectionner ce code et F5.
Copier / coller ce code (SQL Server et PostgreSQL)
-- Create a table for the Two Trees product data
CREATETABLE products.products (
SKU CHAR(7) NOTNULLPRIMARYKEY,
ProductName CHAR(50) NOTNULL,
CategoryID INT,
Size INT,
Price DECIMAL(5,2) NOTNULL
);
CREATETABLE products.categories (
CategoryID INTPRIMARYKEY,
CategoryDescription CHAR(50)
);
Clic droit sur la table categories > Select Top 1000 et saisir :
Pour modifier une structure de table : ALTER TABLE
-- Add an additional column to the table
ALTERTABLE products.categories
ADD ProductLine CHAR(25);
Clic droit sur la table categories > Select Top 1000 et saisir :
Insérer des lignes
Pour ajouter des lignes à une table :
INSERT INTO <table> VALUES (<valeurs>), (<valeurs>)
INSERT INTO <table> (<champs>) VALUES (<valeurs>), (<valeurs>)
Saisir ce code, ce qui insère 1 ligne :
-- Add data to a table by filling in all columns in order
INSERTINTO products.products VALUES
('FCP008', 'First Cold Press', 1, 8, 8.99)
;
Saisir ce code, ce qui insère 2 lignes :
-- Add multiple rows in one command
INSERTINTO products.products VALUES
('BI008', 'Basil-Infused EVO', 2, 8, 10.99),
('GI016', 'Garlic-Infused EVO', 2, 16, 15.99)
;
Saisir ce code, ce qui insère une ligne en indiquant seulement les valeurs de 3 champs (sur 5) :
-- Add rows by specifying columns
INSERTINTO products.products
(SKU, ProductName, Price)
VALUES
('OGEC004', 'Olive Glow Eye Cream', 18.99)
;
On obtient :
Mettre à jour
Saisir ce code, ce qui modifie le produit dont le SKU est OGEC004 :
-- Change the values in a specific row
UPDATE products.products
SET CategoryID = 3,
Size = 4
WHERE SKU = 'OGEC004';
Saisir ce code, ce qui supprime :
-- Remove a specific row from the database
DELETEFROM products.products
WHERE SKU = 'OGEC004';
Finalement, exécuter ce code :
-- Remove existing database objects if they're present in the database
-- This resets the Two Trees database to an empty state
DROPTABLEIFEXISTS products.products;
DROPTABLEIFEXISTS products.categories;
DROPSCHEMAIFEXISTS products;
-- Create the products schema
GO-- comment this line out when running on PostgreSQL
CREATESCHEMA products;
GO-- comment this line out when running on PostgreSQL