Table SQL Server CREATE, ALTER, DROP [exemples T-SQL]

โšก Rรฉsumรฉ intelligent

Les tables SQL Server stockent les donnรฉes en lignes et en colonnes. Transact-SQL utilise CREATE TABLE pour crรฉer une table, ALTER TABLE pour ajouter ou modifier des colonnes et DROP TABLE pour supprimer la table, ses donnรฉes et sa structure.

  • ๐Ÿงฑ Qu'est-ce qu'une table : Une table stocke les donnรฉes en lignes et en colonnes et constitue l'objet de base pour contenir des donnรฉes dans une base de donnรฉes.
  • ๏ธ CRร‰ER UN TABLEAU : L'instruction CREATE TABLE dรฉfinit chaque colonne avec un nom, un type de donnรฉes et un paramรจtre NULL ou NOT NULL.
  • ๐Ÿ“‹ Crรฉer ร  partir d'un รฉlรฉment existant : SELECT โ€ฆ INTO copie les colonnes et les lignes sรฉlectionnรฉes d'une table existante dans une toute nouvelle table.
  • โž• MODIFIER TABLE: La commande ALTER TABLE โ€ฆ ADD ajoute de nouvelles colonnes ร  une table sans la recrรฉer.
  • ๐Ÿ‡ง๐Ÿ‡ท TABLEAU DE DESCENTE : DROP TABLE supprime la table entiรจre, y compris ses donnรฉes et sa structure.
  • ๐Ÿ‡ง๐Ÿ‡ท Concepteur de table : SQL Server Management Studio permet รฉgalement de crรฉer et de modifier visuellement des tables via Table Designer.

Exemples de crรฉation, d'altรฉration et de suppression de tables dans SQL Server avec T-SQL

Qu'est-ce qu'un tableau ?

Une table est un objet dans SQL Server qui stocke les donnรฉes sous forme de lignes et de colonnes. Le diagramme ci-dessous illustre respectivement les lignes et les colonnes.

Diagramme d'un tableau stockant des donnรฉes en lignes et en colonnes

Comment crรฉer une table dans SQL Server avec T-SQL

La premiรจre รฉtape pour stocker des donnรฉes consiste ร  crรฉer une table dans le base de donnรฉes L'emplacement oรน seront stockรฉes les donnรฉes. Une fois la table crรฉรฉe, vous pouvez y insรฉrer des lignes au fur et ร  mesure.

Vous pouvez crรฉer un tableau des maniรจres suivantes :

  • T-SQL : crรฉer une nouvelle table en dรฉfinissant toutes les colonnes et leur type de donnรฉes.
  • T-SQL : crรฉer une nouvelle table ร  partir dโ€™une table existante.
  • Utilisation du concepteur de tableaux.

ร‰tudions cela en dรฉtail.

T-SQL : Crรฉer une nouvelle table en dรฉfinissant toutes les colonnes et leur type de donnรฉes

Voici la syntaxe pour crรฉer une table dans SQL Server.

syntaxe:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

Ici,

  • Le paramรจtre tableName dรฉsigne le nom de la table que vous allez crรฉer.
  • Les paramรจtres column_1, column_2โ€ฆ dรฉsignent les colonnes ร  ajouter au tableau.
  • Une colonne doit รชtre spรฉcifiรฉe comme NULL ou NOT NULL. Si vous ne spรฉcifiez rien, SQL Server utilise NULL par dรฉfaut.

Crรฉons un tableau de base ร  deux colonnes.

requรชte:

CREATE TABLE COURSE
(
Course_ID Int,
Course_Name Varchar(10)
)

Prรฉrequis: Sรฉlectionnez la base de donnรฉes dans laquelle vous souhaitez crรฉer la table.

ร‰tape 1) Exรฉcutez la requรชte en cliquant sur Exรฉcuter. Avant l'exรฉcution de la requรชte, aucune table n'existe, comme indiquรฉ ci-dessous.

L'explorateur d'objets n'affiche aucune table Course avant l'exรฉcution de l'instruction CREATE.

Aprรจs avoir exรฉcutรฉ la requรชte, cliquez sur le bouton Actualiser ; la nouvelle table existe dรฉsormais sous le nom Course, comme indiquรฉ ci-dessous.

Tableau des cours affichรฉ dans l'explorateur d'objets aprรจs exรฉcution et actualisation

ร‰tape 2) Saisissez des donnรฉes. Les captures d'รฉcran ci-dessous montrent la table Course nouvellement crรฉรฉe, prรชte ร  recevoir des lignes.

Table de cours nouvellement crรฉรฉe et sรฉlectionnรฉe dans l'explorateur d'objets avant l'insertion des donnรฉes

Structure du tableau des cours avec ses deux colonnes affichรฉes avant la saisie des donnรฉes

Pour l'instant, la table existe, mais elle ne contient encore aucune donnรฉe.

Transact-SQL propose l'instruction INSERT pour insรฉrer des donnรฉes dans une table. Cette instruction permet d'insรฉrer une ou plusieurs lignes dans une table.

syntaxe:

INSERT INTO tableName
(column_1, column_2, ... )
VALUES
(expression_1, expression_2, ... ),
(expression_1, expression_2, ... ),
...;

La syntaxe ci-dessus illustre la forme de base de la commande lors de l'utilisation du mot-clรฉ VALUES pour insรฉrer des donnรฉes dans une table.

Insรฉrons quatre lignes ร  l'aide de la commande INSERT.

Insert into COURSE values (1,'SQL');
Insert into COURSE values (2,'Python');
Insert into COURSE values (3,'SQL');
Insert into COURSE values (4,'C');

La capture d'รฉcran ci-dessous montre que l'insertion de quatre lignes a rรฉussi.

Volet Messages confirmant l'insertion de quatre lignes dans la table Cours

ร‰tape 3) Utilisez l'instruction SELECT pour afficher les donnรฉes. Pour afficher des donnรฉes dans SQL Server, utilisez la syntaxe suivante :

SELECT expression
FROM tableName
[WHERE condition];

Exemple de requรชte :

SELECT * FROM COURSE;

La table a รฉtรฉ crรฉรฉe et contient dรฉsormais quatre enregistrements. Notez qu'il est possible de crรฉer des enregistrements avec une valeur en double dans n'importe quelle colonne, car il n'y a pas de limites. contraintes.

Grille de rรฉsultats affichant les quatre lignes de cours renvoyรฉes par SELECT

T-SQL : Crรฉer une nouvelle table ร  partir d'une table existante

Supposons que vous souhaitiez une autre table comme la table COURSE crรฉรฉe ci-dessus, mais que vous n'ayez besoin que de la colonne Course_Name et non de Course_ID.

syntaxe:

SELECT (Column 1, โ€ฆ) INTO <New Table name> FROM <Old Table name>;

Exemple de requรชte :

SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;

ร‰tape 1) Exรฉcutez la requรชte en cliquant sur Exรฉcuter. Une nouvelle table nommรฉe COURSE_NAMES est crรฉรฉe avec une colonne et quatre enregistrements copiรฉs de l'ancienne table, comme indiquรฉ ci-dessous.

Une nouvelle table COURSE_NAMES a รฉtรฉ crรฉรฉe ร  partir d'une table existante ร  l'aide de la requรชte SELECT INTO.

Exemple de requรชte :

SELECT * FROM COURSE_NAMES;

Le rรฉsultat ci-dessous liste les quatre enregistrements Course_Name dans la nouvelle table COURSE_NAMES.

Grille de rรฉsultats affichant les valeurs Course_Name dans la table COURSE_NAMES

Utilisation du Concepteur de tables

Vous pouvez รฉgalement crรฉer un tableau ร  partir du SQL Server Management Studio IDE utilisant Table Designer.

ร‰tape 1) Cliquez avec le bouton droit sur Tableau > Nouveau > Tableau, comme indiquรฉ ci-dessous.

Dans l'Explorateur d'objets, cliquez avec le bouton droit sur Tableau, puis sur Nouveau, puis sur Tableau.

ร‰tape 2) Saisissez les noms des colonnes et Types de donnรฉes, et choisissez si chaque colonne autorise les valeurs nulles.

Barre d'outils de conception de table pour dรฉfinir une nouvelle table

Grille du concepteur de tableaux avec noms de colonnes, types de donnรฉes et options Autoriser les valeurs nulles

ร‰tape 3) Appuyez sur CTRL+S pour enregistrer le tableau et saisissez le nom Course_Title.

Choisissez la boรฎte de dialogue Nom pour enregistrer le nouveau tableau sous le nom Course_Title.

Aprรจs avoir cliquรฉ sur Actualiser, le nouveau tableau apparaรฎt avec le nom Course_Title et une colonne nommรฉe Course_Name, comme indiquรฉ ci-dessous.

Tableau Course_Title avec une seule colonne Course_Name dans l'explorateur d'objets

Modifier la table dans SQL Server

Il existe deux faรงons de modifier une table dans SQL Server :

  • T-SQL : modifier la table en ajoutant de nouvelles colonnes.
  • Utilisation du concepteur de tableaux.

T-SQL : modifier la table en insรฉrant des colonnes

Voici la syntaxe de la commande ALTER en SQL :

syntaxe:

 Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

requรชte:

ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);

ร‰tape 1) Exรฉcutez la requรชte en cliquant sur Exรฉcuter. Une nouvelle colonne nommรฉe Course_Duration apparaรฎt dรฉsormais dans la table Course_Title, comme indiquรฉ ci-dessous.

Instruction ALTER TABLE ADD ajoutant la colonne Course_Duration

Colonnes Course_Title, y compris la colonne Course_Duration nouvellement ajoutรฉe

Utilisation du Concepteur de tables

Vous pouvez รฉgalement modifier un tableau depuis l'interface utilisateur ร  l'aide du concepteur de tableaux.

ร‰tape 1) Cliquez avec le bouton droit sur le tableau existant > Conception, comme indiquรฉ ci-dessous.

Cliquez avec le bouton droit sur le tableau Course_Title et choisissez Conception

ร‰tape 2) Ajoutez le nom de colonne ยซ Course_Start_Date ยป et sรฉlectionnez son type de donnรฉes.

Ajout de la colonne Course_Start_Date et de son type de donnรฉes dans le concepteur de tables

ร‰tape 3) Appuyez sur CTRL+S pour enregistrer la colonne ajoutรฉe. Une nouvelle colonne nommรฉe Course_Start_Date est crรฉรฉe dans la table Course_Title, comme indiquรฉ ci-dessous.

Tableau Course_Title affichant la colonne Course_Start_Date enregistrรฉe

Supprimer une table dans SQL Server

Vous supprimez une table lorsqu'elle n'est plus nรฉcessaire.

Il existe deux faรงons de supprimer une table dans SQL Server :

  • Utilisation de SQL Server Management Studio.
  • T-SQL : supprimer la table avec DROP TABLE.

Utilisation de SQL Server Management Studio

ร‰tape 1) Faites un clic droit sur le tableau existant > Supprimer, pour le tableau nommรฉ Course_Title, comme indiquรฉ ci-dessous.

Cliquez avec le bouton droit sur le tableau Course_Title et choisissez Supprimer

ร‰tape 2) Dans la fenรชtre Supprimer l'objet, cliquez sur OK.

Fenรชtre de confirmation de suppression d'objet avec le bouton OK

La table Course_Title a รฉtรฉ supprimรฉe de la liste des tables, comme indiquรฉ ci-dessous.

Liste des tables de l'explorateur d'objets aprรจs la suppression de la table Course_Title

T-SQL : Supprimer une table

Voici la syntaxe pour supprimer une table.

syntaxe:

DROP TABLE <tableName>;

Le paramรจtre tableName est le nom de la table ร  supprimer.

requรชte:

DROP TABLE COURSE_NAMES;

ร‰tape 1) Exรฉcutez la requรชte en cliquant sur Exรฉcuter. La table COURSE_NAMES est supprimรฉe de la liste des tables, comme indiquรฉ ci-dessous.

L'instruction DROP TABLE supprime la table COURSE_NAMES

Liste des tables de l'explorateur d'objets aprรจs la suppression de la table COURSE_NAMES

Alternativement, la source montre une commande DELETE TABLE destinรฉe ร  supprimer uniquement les lignes (donnรฉes) tout en laissant la structure de la table intacte, afin que la table puisse รชtre rรฉutilisรฉe ultรฉrieurement.

syntaxe:

DELETE TABLE <Table name>;

ร€ noter: En T-SQL standard, les lignes sont supprimรฉes avec DELETE FROM <table>et une table se vide rapidement avec TRUNCATE TABLE <table>; la table entiรจre est supprimรฉe avec DROP TABLE, comme indiquรฉ ci-dessus.

Faits intรฉressants!

  • Les fichiers volumineux tels que les fichiers XML ou les images peuvent รชtre stockรฉs dans une colonne ร  l'aide de types de donnรฉes pour objets volumineux comme VARBINARY(MAX), VARCHAR(MAX) ou le type XML (SQL Server n'utilise pas ce type). Oracle-noms de BLOB et CLOB de style).
  • La commande DELETE supprime uniquement les lignes et peut รชtre annulรฉe au sein d'une transaction, tandis que la commande DROP supprime toute la structure de la table ; dans SQL Server, mรชme la commande DROP peut รชtre annulรฉe lorsqu'elle est exรฉcutรฉe dans une transaction explicite.

FAQ

La commande DELETE supprime les lignes sรฉlectionnรฉes et gรฉnรจre un journal complet. La commande TRUNCATE supprime rapidement toutes les lignes et rรฉinitialise les valeurs d'identitรฉ. La commande DROP supprime la table entiรจre, ses donnรฉes et sa structure. Dans SQL Server, ces trois opรฉrations peuvent รชtre annulรฉes au sein d'une transaction explicite.

Utilisez la commande DROP TABLE IF EXISTS nom_de_la_table, disponible depuis SQL Server 2016. Elle supprime la table si elle existe et ne fait rien si elle est absente, รฉvitant ainsi une erreur. Sur les versions antรฉrieures, vรฉrifiez l'OBJECT_ID avant la suppression.ping.

SQL Server ne possรจde pas d'instruction RENAME TABLE. Utilisez plutรดt la procรฉdure stockรฉe systรจme sp_rename, par exemple : EXEC sp_rename 'ancien_nom', 'nouveau_nom'. Mettez ร  jour les vues, procรฉdures et le code dรฉpendants aprรจs l'exรฉcution, car sp_rename ne modifie pas automatiquement ces rรฉfรฉrences.

Oui. La commande ALTER TABLE table ALTER COLUMN column new_type modifie le type de donnรฉes d'une colonne, et la commande ALTER TABLE table DROP COLUMN column la supprime. La modification ne rรฉussit que si les donnรฉes existantes sont compatibles ; il est donc conseillรฉ de tester les conversions et d'effectuer une sauvegarde au prรฉalable.

Dรฉfinissez les contraintes ร  l'intรฉrieur de CREATE TABLE, telles que Course_ID INT PRIMARY KEY, ou ajoutez-les ultรฉrieurement avec ALTER TABLE ADD CONSTRAINT. clรฉ primaire impose l'unicitรฉ, tandis qu'un clรฉ รฉtrangรจre relie les lignes entre les tableaux.

Une table temporaire, dont le nom commence par un #, est crรฉรฉe dans tempdb et supprimรฉe automatiquement ร  la fin de la session. Une table classique est permanente jusqu'ร  ce que vous la supprimiez. Les tables temporaires sont adaptรฉes au stockage temporaire de rรฉsultats intermรฉdiaires au sein d'un traitement par lots ou d'une procรฉdure.

Oui. Copilote GitHub Ce systรจme peut gรฉnรฉrer des scripts CREATE, ALTER et DROP TABLE ร  partir d'instructions en langage naturel et suggรฉrer des colonnes, des types de donnรฉes et des contraintes. Il est impรฉratif de vรฉrifier le schรฉma gรฉnรฉrรฉ, les clรฉs et la gestion des valeurs nulles avant de l'exรฉcuter en production.

Les outils d'IA et d'apprentissage automatique recommandent des structures de tables, des types de donnรฉes et des index ร  partir d'exemples de donnรฉes et de modรจles de requรชtes, signalent les colonnes redondantes ou surdimensionnรฉes et mettent en garde contre les opรฉrations DROP ou ALTER risquรฉes. Le dรฉveloppeur confirme chaque suggestion avant de l'appliquer.

Rรฉsumez cet article avec :