Exemple de script SQL Server Create Table pour créer une table de ventes et de clients.
Ce code SQL est un script de type Language de Définition de Données (LDD) pour créer une table SQL Server. Ces tables servent d’exemple dans de nombreux articles Transact-SQL du site sur Expert-Only. Ces scripts simples testent au préalable si la table existe, si elle existe alors elle est supprimée. Ensuite, créer la table SQL Server des ventes. Deux colonnes la composent, une colonne pour les mois et une autre pour les montants des ventes mensuelles.
Table of Contents
1. Exemple de script SQL Server pour créer une table de ventes
Il suffit de COPIER / COLLER le script dans SQL Server Management Studio (SSMS) par exemple. Cette table contient deux colonnes :
- Une colonne MOIS de type NVARCHAR(20)
- Une colonne MONTANT de type NUMERIC(5)
1.1 Tester et supprimer la table si besoin
Pour commencer, tester si la table existe dans la base avec la fonction Exists(). Si c’est le cas alors la table est supprimée avec la commande T-SQL drop table.
-- Tester si la table existe déjà -- Si oui alors supprimer la table IF exists ( SELECT 1 FROM sys.objects WHERE object_id = object_id(N'[dbo].[VENTES]') AND type in (N'U') ) BEGIN DROP TABLE [dbo].[VENTES] END GO
1.2 Créer la table avec le script SQL
Créer ensuite la table VENTES qui contient les 2 colonnes:
-- Créer la table d'exemple pour stocker les VENTES CREATE table [dbo].[VENTES] ( [MOIS] nvarchar(20), [MONTANT] numeric(5) ) GO
1.3 Insérer des données dans la table
Insertion de quelques lignes dans la table pour manipuler les données pour les trois premiers mois de l’année civile.
-- Insérer des données de Ventes pour notre exemple INSERT INTO dbo.VENTES ( MOIS, MONTANT ) VALUES ( N'Janvier', 1000); INSERT INTO dbo.VENTES ( MOIS, MONTANT ) VALUES ( N'Février', 2000); INSERT INTO dbo.VENTES ( MOIS, MONTANT ) VALUES ( N'Mars', 3000); GO -- Sélectionner les résultats pour contrôler le contenu de table SELECT * FROM dbo.VENTES;
Cet article décrit un exemple en langage Transact-sql pour créer une table qui contient des données de ventes mensuelles. Les autres scripts SQL du blog utilisent cet exemple, volontairement basique.
2. Créer une table SQL Server avec différents types de données
Cet exemple de création d’une table des Ventes utilise différents types de données. Les colonnes sont par exemple de types binaires, numériques, entiers ou encore chaines de caractères. Une solution possible est d’utiliser une commande T-SQL CREATE TABLE. Par exemple, voici un extrait de code facile à adapter à différents besoins pour créer une nouvelle table.
CREATE TABLE [dbo].[VENTES] ( [MoisNom] NVARCHAR(50), -- alphanumérique [MoisCourant] BIT, -- booléen, 0 ou 1 , false / true [NumeroMois] TINYINT, -- très petit entier, de 0 à 255 [NumeroEmploye] SMALLINT, -- petit entier, minimum -2^15, maximum 2^15 [NombreClients] INTEGER, -- entier, minimum -2^31, maximum 2^31 [NombreVentes] BIGINT, -- grand entier, minimum: -2^63, maximum 2^63 [Montant_HT] NUMERIC(15,5), -- numérique, 15 chiffres, dont 5 après la virgule [Montant_TTC] DECIMAL(15,5) -- décimal, 15 chiffres, dont 5 après la virgule );
3. Requête T-SQL pour créer une table clients et stocker des données
Ce troisième exemple concerne la table CLIENTS qui est utilisé dans de nombreux tutoriels. Ensuite la table SQL Server appelée [dbo].[CLIENTS] est créée. De la même manière, il suffit de COPIER / COLLER le script dans votre outil de gestion de base SQL Server, comme SSMS par exemple.
Cette table CLIENTS contient trois colonnes :
- Une première colonne NOCLIENT de type int et auto-incrémentée.
- Une colonne NOM de type nvarchar(20) et UNIQUE.
- Une dernière colonne VILLE de type nvarchar(20).
-- Tester si la table CLIENTS existe déjà -- Et la supprimer au besoin IF EXISTS( SELECT 1 FROM sys.objects WHERE object_id = object_id(N'[dbo].[CLIENTS]') AND type in (N'U') ) BEGIN DROP TABLE [dbo].[CLIENTS] END GO -- Créer la table CLIENTS avec la colonne NOM déclarée comme UNIQUE -- Le mot clef UNIQUE définit la colonne avec une valeur unique -- Insérer deux clients avec le même nom est donc impossible CREATE TABLE [dbo].[CLIENTS] ( [NOCLIENT] int IDENTITY(1,1), [NOM] nvarchar(20) UNIQUE, [VILLE] nvarchar(20) ) GO -- Insérer des données pour les exemples de manipulation INSERT INTO dbo.CLIENTS ( NOM, VILLE ) VALUES ( N'MAMMADOU', 'Lyon'); INSERT INTO dbo.CLIENTS ( NOM, VILLE ) VALUES ( N'SERGEI', 'Lyon'); INSERT INTO dbo.CLIENTS ( NOM, VILLE ) VALUES ( N'CHRISTOPHE', 'Paris'); -- Vérifier des lignes insérées SELECT * FROM dbo.CLIENTS;
Pour continuer dans le sens de la manipulation et du stockage de données en base, voici comment créer une vue SQL à partir d’une table. Cet autre tutoriel explique comment transposer les colonnes en lignes avec la requête SQL UNPIVOT.
En conclusion, SQL Server propose de nombreux formats de données, alphanumériques ou numériques. Adapter l’utilisation des formats et des tailles de colonnes au besoin effectif pour mieux gérer l’espace disque des bases de données sur les serveurs. Pour aller plus loin, cet article explique comment modifier le type de données d’une colonne SQL Server.
Soyez le premier à commenter