Liste des types de données SQL Server pour créer des colonnes ou des variables en T-SQL.
Voici la liste complète des types de données SQL Server, avec des exemples écrits en T-SQL (Transact-SQL) pour déclarer et instancier chaque type de données. En effet, en Transact-SQL, il existe plusieurs types de données qui peuvent être utilisés pour stocker différents types de valeurs dans une base de données.
Table of Contents
Les différentes catégories de types de données SQL Server
Voici une liste des types de données les plus courants, classés par catégories.
Les données numériques
- INT : entier à virgule fixe, de -2147483648 à 2147483647
- BIGINT : entier à virgule fixe, de -9223372036854775808 à 9223372036854775807
- SMALLINT : entier à virgule fixe, de -32768 à 32767
- TINYINT : entier à virgule fixe, de 0 à 255
- DECIMAL : décimal à virgule fixe, avec une précision et une échelle spécifiées
- NUMERIC : décimal à virgule fixe, avec une précision et une échelle spécifiées
- FLOAT : flottant à virgule flottante, avec une précision spécifiée
- REAL : flottant à virgule flottante, avec une précision inférieure à celle de FLOAT
Les données de date et d’heure
- DATE : date (année, mois, jour)
- TIME : heure (heures, minutes, secondes, fractions de secondes)
- DATETIME : date et heure (année, mois, jour, heures, minutes, secondes)
- DATETIME2 : date et heure avec une précision supérieure à celle de DATETIME
- SMALLDATETIME : date et heure avec une précision inférieure à celle de DATETIME
- DATETIMEOFFSET : date et heure avec un décalage horaire
Les données de type chaîne de caractères
- CHAR : chaîne de caractères de longueur fixe
- VARCHAR : chaîne de caractères de longueur variable
- TEXT : chaîne de caractères de longueur variable, utilisée principalement pour stocker du texte de longueur illimitée
- NCHAR : chaîne de caractères Unicode de longueur fixe
- NVARCHAR : chaîne de caractères Unicode de longueur variable
- NTEXT : chaîne de caractères Unicode de longueur variable, utilisée principalement pour stocker du texte Unicode de longueur illimitée
Les données binaires
- BINARY : données binaires de longueur fixe
- VARBINARY : données binaires de longueur variable
- IMAGE : données binaires de longueur variable, utilisées principalement pour stocker des images ou des objets de grande taille
Il existe également d’autres types de données moins courants, tels que les types de données spatiaux et les types de données spéciaux.
Les types de données spatiaux
- GEOMETRY : données géométriques, utilisées pour représenter des objets géographiques tels que des points, des lignes, des polygones, etc.
- GEOGRAPHY : données géographiques, utilisées pour représenter des objets géographiques sur la surface de la Terre, en tenant compte de la courbure de la Terre.
Les types de données spéciaux
- XML : données XML (eXtensible Markup Language)
- JSON : données JSON (JavaScript Object Notation)
- UNIQUEIDENTIFIER : identifiant unique généré aléatoirement
Il est important de choisir le type de données approprié pour chaque colonne de votre base de données SQL Server, afin de garantir l’efficacité et la précision des données stockées.
1. Le type CHAR avec SQL Server
Tout d’abord, le type de données CHAR. Il permet de stocker des chaînes de caractères de longueur fixe. La longueur doit être spécifiée en nombre de caractères lors de la déclaration de la colonne ou de la variable dans un script T-SQL comme une procédure stockée.
Par exemple, char(10) déclare une colonne de type char capable de stocker jusqu’à 10 caractères. Voici un exemple de code T-SQL qui crée une table avec une colonne de type char et y insère une valeur.
CREATE TABLE ma_table ( id INT PRIMARY KEY, code CHAR(10) NOT NULL ); INSERT INTO ma_table (id, code) VALUES (1, 'ABC123');
2. Le type de données VARCHAR en T-SQL
L
e type de données VARCHAR permet de stocker des chaînes de caractères de longueur variable. La longueur maximale doit être spécifiée en nombre de caractères lors de la déclaration de la colonne.
Par exemple, varchar(255)
déclare une colonne de type varchar
capable de stocker jusqu’à 255 caractères. Voici un exemple de code T-SQL qui crée une table avec une colonne de type varchar
et y insère une valeur.
CREATE TABLE ma_table ( id INT PRIMARY KEY, nom VARCHAR(255) NOT NULL ); INSERT INTO ma_table (id, nom) VALUES (1, 'Dupont');
3. Types T-SQL NCHAR ET NVARCHAR
Les type de données NCHAR et NVARCHAR sont des versions Unicode de CHAR et VARCHAR, respectivement. Elles permettent de stocker des caractères de différentes langues. La longueur doit être spécifiée en nombre de caractères Unicode lors de la déclaration de la colonne.
Par exemple, nchar(10) déclare une colonne de type nchar capable de stocker jusqu’à 10 caractères Unicode. Voici un exemple de code T-SQL qui crée une table avec une colonne de type nvarchar et y insère une valeur :
CREATE TABLE ma_table ( id INT PRIMARY KEY, nom NVARCHAR(255) NOT NULL ); INSERT INTO ma_table (id, nom) VALUES (1, N'Dupont');
4. Le type de données INT en SQL
Ensuite, le type de données INT permet de stocker des entiers. Voici un exemple de code T-SQL qui crée une table avec une colonne de type int et y insère une valeur.
CREATE TABLE ma_table ( id INT PRIMARY KEY, age INT NOT NULL ); INSERT INTO ma_table (id, age) VALUES (1, 35);
5. Les types SQL Server DECIMAL et NUMERIC
Les types SQL Server DECIMAL et NUMERIC sont des types de données qui permettent de stocker des nombres décimaux avec une précision et une précision spécifiées. La précision et la précision sont spécifiées en nombre de chiffres lors de la déclaration de la colonne.
Par exemple, DECIMAL(5,2) déclare une colonne de type decimal capable de stocker des nombres décimaux avec 5 chiffres au total, dont 2 chiffres après la virgule. Voici un exemple de code T-SQL qui crée une table avec une colonne de type decimal et y insère une valeur : 9.99.
CREATE TABLE ma_table ( id INT PRIMARY KEY, prix DECIMAL(5,2) NOT NULL ); INSERT INTO ma_table (id, prix) VALUES (1, 9.99);
6. Le type FLOAT
Le type de données SQL Server FLOAT permet de stocker des nombres à virgule flottante avec une précision approximative. Voici un exemple de code T-SQL pour créer une table avec une colonne de type float et y insérer une valeur : 23.5.
CREATE TABLE ma_table ( id INT PRIMARY KEY, temperature FLOAT NOT NULL ); INSERT INTO ma_table (id, temperature) VALUES (1, 23.5);
7. Le type de données REAL
Le type de données REAL, qui signifie réel en Français, est similaire au type float, mais avec une précision inférieure. Voici un exemple de code T-SQL qui crée une table avec une colonne de type real et y insère une valeur.
CREATE TABLE ma_table ( id INT PRIMARY KEY, temperature REAL NOT NULL ); INSERT INTO ma_table (id, temperature) VALUES (1, 23.5);
8. Le type de données DATETIME en T-SQL
Ensuite, le type de données DATETIME permet de stocker des dates et des heures, mais aussi des minutes et des secondes. Voici un exemple de code T-SQL qui crée une table avec une colonne de type datetime et y insère une valeur.
CREATE TABLE ma_table ( id INT PRIMARY KEY, date_naissance DATETIME NOT NULL ); INSERT INTO ma_table (id, date_naissance) VALUES (1, '1999-01-01 00:00:00');
9. Le type de données BIT
BIT en Anglais signifie octet en Français, ce type de données permet de stocker des valeurs booléennes (0 ou 1). Voici un exemple de code T-SQL qui crée une table avec une colonne de type bit et y insère une valeur.
CREATE TABLE ma_table ( id INT PRIMARY KEY, est_membre BIT NOT NULL ); INSERT INTO ma_table (id, est_membre) VALUES (1, 1);
10. Les types BINARY et VARBINARY en T-SQL
Ce sont deux types de données qui permettent de stocker des données binaires de longueur fixe ou variable, respectivement. La longueur maximale doit être spécifiée en nombre d’octets lors de la déclaration de la colonne.
Par exemple, l’instruction binary(10) déclare une colonne de type binary capable de stocker jusqu’à 10 octets de données binaires. Voici un exemple de code T-SQL qui crée une table avec une colonne de type varbinary et y insère une valeur.
CREATE TABLE ma_table ( id INT PRIMARY KEY, photo VARBINARY(MAX) NOT NULL ); INSERT INTO ma_table (id, photo) VALUES (1, 0x89504E470D0A1A0A0000000D49484452000000010000000108060000001FF3FF610000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA86400000A4F6943435050686F746F73686F70204943432070726F66696C65000048656C6C6F2C20776F726C64210A77);
Voici la suite de la liste des types de données en T-SQL avec des exemples de code pour déclarer et instancier chaque type de données présenté.
11. Le type Image en T-SQL
IMAGE est un type de données particulier car il permet de stocker des images ou autres types de données binaires volumineux. C’est à dire que le type image permet de stocker un fichier directement dans uns colonne. C’est ainsi que sont stockées les fichiers de SharePoint par exemple, qui est la solution GED de Microsoft. GED signifie Gestion Electronique des Documents.
Voici un exemple de code T-SQL qui crée une table avec une colonne de type image
et y insère une valeur :
CREATE TABLE ma_table ( id INT PRIMARY KEY, image IMAGE NOT NULL ); INSERT INTO ma_table (id, image) VALUES (1, 0x89504E470D0A1A0A0000000D49484452000000010000000108060000001FF3FF610000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA86400000A4F6943435050686F746F73686F70204943432070726F66696C65000048656C6C6F2C20776F726C64210A77);
12. Le type TEXT avec SQL Server
Le type de données SQL Server TEXT permet de stocker du texte de longueur variable. Voici un exemple de code T-SQL qui crée une table avec une colonne de type text et y insère une valeur.
CREATE TABLE ma_table ( id INT PRIMARY KEY, commentaires TEXT NOT NULL ); INSERT INTO ma_table (id, commentaires) VALUES (1, 'Ceci est un commentaire.');
13. Le type NTEXT
Enfin, le type de données NTEXT, qui est une version Unicode de TEXT. Elle permet de stocker du texte Unicode de longueur variable. Voici un exemple de code SQL Server pour :
- Créer une table avec une colonne de type ntext
- Insérer une valeur dans la colonne.
CREATE TABLE ma_table ( id INT PRIMARY KEY, commentaires NTEXT NOT NULL ); INSERT INTO ma_table (id, commentaires) VALUES (1, 'Ceci est un commentaire.');
Bonnes pratiques pour utiliser les types de données SQL Server
Les types de données en T-SQL (Transact-SQL) sont des catégories de valeurs qui définissent le type de données que peut contenir une colonne de table ou une variable. Ils permettent de garantir que les données stockées dans une base de données sont structurées de manière cohérente et correcte.
Il est important de choisir le type de données approprié pour chaque colonne ou variable afin de garantir que les données sont stockées de manière efficace et que les requêtes et les opérations sur les données sont exécutées de manière correcte.
Par exemple, il est recommandé d’utiliser un type de données numérique pour les colonnes contenant uniquement des nombres. Et un type de données de date et d’heure pour les colonnes contenant des données temporelles, et un type de données de chaîne de caractères pour les colonnes contenant du texte. C’est à dire des nombres et des lettres, mais aussi potentiellement d’autres caractères alphanumériques.
Il est également recommandé de définir des contraintes sur les colonnes, telles que des clés primaires ou étrangères, des contraintes de valeur null ou de valeur unique, afin de garantir la qualité et l’intégrité des données dans la base de données.
14. Conclusion sur les types de données SQL Server
Enfin, il est important de se rappeler que les types de données en T-SQL ne sont qu’une partie de la conception de bases de données efficaces et de qualité. Il est également important de concevoir de manière adéquate les tables et les relations entre elles, de choisir les indexes et les contraintes appropriés, et de bien gérer l’espace de stockage et les performances de la base de données.
Soyez le premier à commenter