Maison  >  Article  >  base de données  >  Quels sont les types de champs dans Oracle ?

Quels sont les types de champs dans Oracle ?

WBOY
WBOYoriginal
2022-05-30 18:35:1423048parcourir

Types de champs d'Oracle : 1. CHAR, chaîne de longueur fixe ; 2. VARCHAR2, chaîne de longueur variable ; 3. LONG, chaîne extra-longue ; 4. BLOB, données binaires ; .REAL, type de nombre réel ; 7. DATE, données de type date, etc.

Quels sont les types de champs dans Oracle ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.

Quels sont les types de champs d'Oracle

Types de champs

  • CHAR La longueur maximale des chaînes de longueur fixe est de 2000 octets

  • VARCHAR2 La longueur maximale des chaînes de longueur variable est de 4000 octets La longueur maximale pouvant être indexé est 749

  • NCHAR La longueur maximale d'une chaîne de longueur fixe en fonction du jeu de caractères est de 2000 octets

  • NVARCHAR2 La longueur maximale d'une chaîne de longueur variable en fonction du jeu de caractères est de 4000 octets

  • DATE Date (jour-mois-année)) JJ-MM-AA(HH-MI-SS) Après des tests rigoureux, aucun millier de bugs

  • LONG La longueur maximale d'une chaîne super longue est de 2G (231- 1), suffisant pour stocker des œuvres volumineuses

  • RAW Fixe La longueur maximale des données binaires est de 2000 octets, ce qui peut stocker des images et des sons multimédias, etc.

  • LONG RAW La longueur maximale des données binaires de longueur variable est 2G Comme ci-dessus

  • BLOB La longueur maximale des données binaires est de 4G

  • CLOB La longueur maximale des données de caractères 4G

  • NCLOB La longueur maximale des données de caractères en fonction du jeu de caractères 4G

  • BFILE La longueur maximale des données binaires stockées en dehors de la base de données 4G

  • ROWID Le numéro de ligne unique enregistré dans la table de données 10 octets *** *****.****.**** format, * est 0 ou 1

  • NROWID La longueur maximale du numéro de ligne unique enregistré dans la table de données binaires est de 4000 octets

  • NUMBER(P,S) Le type de numéro P correspond aux chiffres entiers, S aux chiffres décimaux

  • DECIMAL(P,sans-serif; line-height:23.4px"> INTEGER Type entier petit entier

  • FLOAT Type à virgule flottante NUMBER(38), double précision

  • REAL type de nombre réel NUMBER(63 ), une plus grande précision

Ce qui suit est un enregistrement détaillé de certaines balises

description du paramètre de type de données

char(n) n= 1 à 2000 octets de chaîne de longueur fixe, de n octets de long Si. la longueur n'est pas spécifiée, la longueur par défaut est de 1 octet (un caractère chinois fait 2 octets)

varchar2(n) n=1 à 4000 octets disponibles Une chaîne de longueur variable, la longueur maximale n est spécifiée lorsqu'elle est spécifiquement définie

.

Ce type de données peut contenir des chiffres, des lettres et tous les symboles du jeu de caractères ASCII (ou des normes de jeu de caractères acceptées par les systèmes de bases de données tels que EBCDIC)

Si la longueur des données n'atteint pas la valeur maximale n, Oracle 8i le fera. ajustez automatiquement la longueur du champ en fonction de la taille des données.

S'il y a des espaces avant et après vos données, Oracle 8i les supprimera automatiquement. VARCHAR2 est le type de données le plus couramment utilisé.

La longueur maximale de l'index pouvant être réalisée est de 3209.

number(m,n) m=1 à 38

n=-84 à 127 Colonne numérique de longueur variable, autorisant 0, des valeurs positives et négatives, m est le nombre de chiffres de tous les chiffres significatifs, n est après le nombre décimal de chiffres.

Par exemple : nombre(5,2), la valeur maximale de ce champ est 99 999. Si la valeur dépasse la limite de chiffres, les chiffres en excès seront tronqués.

Par exemple : nombre (3,0), entrez 575.316, les données réellement enregistrées sont 575.

date Il n'y a pas de dates légales du 1er janvier 4712 avant JC au 31 décembre 4712 après JC.

Oracle 8i stocke en fait les données de date sur 7 octets en interne, et la définition inclut également les heures, les minutes et les secondes.

Le format par défaut est DD-MON-YY, par exemple, 07-November-00 signifie le 7 novembre 2000.

long Aucun Chaîne de caractères de longueur variable, la limite de longueur maximale est de 2 Go, utilisée pour les données de chaîne longue qui ne nécessitent pas de recherche de chaîne. Si vous souhaitez effectuer une recherche de caractères, vous devez utiliser le type varchar2.

long est un type de données plus ancien et sera progressivement remplacé par des types de données d'objets volumineux tels que BLOB, CLOB et NCLOB à l'avenir.

raw(n) n=1 à 2000 données binaires de longueur variable, la longueur maximale n doit être spécifiée lors de la définition spécifique du champ. Oracle 8i utilise ce format pour enregistrer des fichiers graphiques plus petits ou des fichiers texte formatés, tels qu'un document Miceosoft Word.

raw est un type de données plus ancien et sera progressivement remplacé par des types de données d'objets volumineux tels que BLOB, CLOB et NCLOB à l'avenir.

long brut Aucun Données binaires de longueur variable, la longueur maximale est de 2 Go. Oracle 8i utilise ce format pour enregistrer des fichiers graphiques volumineux ou des fichiers texte formatés, tels que des documents Miceosoft Word, ainsi que des fichiers non texte tels que des fichiers audio et vidéo.

Vous ne pouvez pas avoir de type long et de type long raw en même temps dans la même table. Long raw est également un type de données plus ancien et sera progressivement remplacé par des types de données d'objets volumineux tels que BLOB, CLOB et NCLOB à l'avenir.

blob, clob, nclob Aucun Trois grands objets (LOB), utilisés pour enregistrer des fichiers graphiques volumineux ou des fichiers texte formatés, tels que des documents Miceosoft Word, et des fichiers non texte tels que des fichiers audio et vidéo. La longueur maximale est de 4 Go.

Il existe plusieurs types de LOB, selon le type d'octets que vous utilisez. Oracle 8i stocke réellement ces données dans la base de données.

Peut effectuer des opérations spéciales telles que la lecture, le stockage et l'écriture.

bfile Aucun Un gros fichier objet binaire enregistré en dehors de la base de données. La longueur maximale est de 4 Go.

Ce type LOB externe enregistre les modifications via la base de données, mais la sauvegarde spécifique des données se fait en dehors de la base de données.

Oracle 8i peut lire et interroger BFILE, mais ne peut pas écrire.

La taille est déterminée par le système d’exploitation.

Un type de données est un attribut dans une colonne ou une procédure stockée.

Les types de données pris en charge par Oracle peuvent être divisés en trois catégories de base : les types de données caractères, les types de données numériques et les types de données représentant d'autres données.

Type de données Character

CHAR Le type de données char stocke des valeurs de caractères de longueur fixe. Un type de données CHAR peut contenir de 1 à 2 000 caractères. Si aucune longueur n'est explicitement spécifiée pour CHAR, sa longueur par défaut est définie sur 1. Si une valeur est affectée à une variable de type CHAR et que sa longueur est inférieure à la longueur spécifiée, Oracle la remplira automatiquement avec des espaces.

VARCHAR2 stocke des chaînes longues. Bien que la longueur d'une variable de données VARCHAR2 doive également être spécifiée, cette longueur fait référence à la longueur maximale de l'affectation de variable plutôt qu'à la longueur réelle de l'affectation. Pas besoin de remplir d'espaces. Peut être configuré jusqu'à 4 000 caractères. Étant donné que le type de données VARCHAR2 stocke uniquement les caractères affectés à la colonne (sans espaces), VARCHAR2 nécessite moins d'espace de stockage que le type de données CHAR.

Oracle recommande d'utiliser VARCHAR2

NCHAR et NVARCHAR2 Les types de données NCHAR et NVARCHAR2 stockent respectivement des chaînes de longueur fixe et de longueur variable, mais ils utilisent des jeux de caractères différents des autres types de la base de données. Lors de la création d'une base de données, vous devez spécifier le jeu de caractères utilisé pour coder les données dans les données. Vous pouvez également spécifier un jeu de caractères auxiliaire [c'est-à-dire le jeu de langue locale]. Les colonnes de type NCHAR et NVARCHAR2 utilisent des jeux de caractères secondaires. Les colonnes de type NCHAR et NVARCHAR2 utilisent des jeux de caractères secondaires.

Dans Oracle 9i, la longueur des colonnes NCHAR et NVARCHAR2 peut être exprimée en caractères au lieu d'octets.

Le type de données LONG long peut stocker 2 Go de données de caractères et est hérité des versions antérieures. Désormais, si vous stockez de grandes quantités de données, Oracle recommande d'utiliser les types de données CLOB et NCLOB. Il existe de nombreuses restrictions concernant l'utilisation du type LONG dans les tables et les instructions SQL.

Les types de données CLOB et NCLOB CLOB et NCLOB peuvent stocker jusqu'à 4 Go de données de caractères. Le type de données NCLOB peut stocker des données NLS.

Type de données numériques

Oracle utilise un format interne standard de longueur variable pour stocker les nombres. Ce format interne peut avoir jusqu'à 38 bits de précision.

Le type de données NUMBER peut avoir deux qualificatifs, tels que : colonne NUMBER (précision, échelle). la précision représente le nombre de chiffres significatifs du nombre. Si la précision n'est pas spécifiée, Oracle utilisera 38 comme précision. L'échelle représente le nombre de chiffres à droite du point décimal. L'échelle est définie sur 0 par défaut. Si l'échelle est définie sur un nombre négatif, Oracle arrondira le nombre au nombre spécifié de chiffres à gauche du point décimal.

Type de données Date

Le format de date standard d'Oracle est : DD-MON-YY HH:MI:SS

En modifiant le paramètre d'instance NLS_DATE_FORMAT, vous pouvez changer le format de la date insérée dans l'instance. Au cours d'une session, vous pouvez modifier la date via la commande Alter session sql ou mettre à jour une valeur spécifique en utilisant les paramètres de l'expression TO_DATE de l'instruction SQL.

Autres types de données

Les types de données RAW et LONG RAW RAW et LONG RAW sont principalement utilisés pour interpréter la base de données. Lors de la spécification de ces deux types, Oracle stocke les données sous forme de bits. Le type de données RAW est généralement utilisé pour stocker des objets dans un format spécifique, tel que des bitmaps. Le type de données RAW peut occuper 2 Ko d'espace, tandis que le type de données LONG RAW peut occuper 2 Go.

ROWID ROWID est un type de colonne spécial appelé pseudo-colonne. Les pseudo-colonnes ROWID sont accessibles comme les colonnes ordinaires dans les instructions SQL SELECT. Chaque ligne de la base de données Oracle possède une pseudo-colonne. ROWID représente l'adresse de la ligne et la pseudo-colonne ROWID est définie avec le type de données ROWID.

ROWID est lié à un emplacement spécifique sur le lecteur de disque, par conséquent, ROWID est le moyen le plus rapide d'obtenir la ligne. Cependant, le ROWID d'une ligne change au fur et à mesure que la base de données est déchargée et rechargée, il est donc recommandé de ne pas utiliser la valeur de la pseudo-colonne ROWID dans une transaction. Par exemple, il n'y a aucune raison de sauvegarder le ROWID d'une ligne une fois que l'application actuelle a fini d'utiliser l'enregistrement. La valeur de la pseudo-colonne ROWID standard ne peut être définie via aucune instruction SQL.

Une colonne ou une variable peut être définie comme un type de données ROWID, mais Oracle ne peut pas garantir que la valeur de la colonne ou de la variable est un ROWID valide.

Type de données LOB (Large Object), qui peut enregistrer 4 Go d'informations. LOB a les 3 types suivants :

, qui ne peut stocker que des données de caractères

, enregistrer les données du jeu de caractères de la langue locale

et enregistrer les données sous forme d'informations binaires

Vous pouvez spécifier s'il convient d'enregistrer des données LOB dans une base de données Oracle ou pointez vers un fichier contenant des fichiers externes pour les données secondaires.

LOB peut participer aux transactions. Les données du LOB doivent être gérées via le progiciel intégré DBMS_LOB PL/sql ou l'interface OGI.

Pour faciliter la conversion des types de données LONG en LOB, Oracle 9i inclut un certain nombre de fonctions prenant en charge à la fois les LOB et les LONG, y compris une nouvelle option pour l'instruction ALTER TABLE qui permet la conversion automatique des types de données LONG en LOB.

BFILE

Le type de données BFILE est utilisé comme pointeur vers un fichier stocké en dehors de la base de données Oracle.

Type XML

Dans le cadre de sa prise en charge de XML, Oracle 9i inclut un nouveau type de données, XML Type. Une colonne définie comme XMLType stockera un document XML dans une colonne LOB de caractères. Il existe de nombreuses fonctions intégrées qui vous permettent d'extraire des nœuds individuels d'un document et de créer un index sur n'importe quel nœud d'un document de type XML.

À partir d'Oracle 8, les utilisateurs peuvent définir leurs propres types de données complexes, composés de types de données de base Oracle.

AnyType, AnyData et AnyDataSet

Oracle inclut 3 nouveaux types de données pour définir des structures de données en dehors des types de données existants. Chacun de ces types de données doit être défini à l'aide d'une unité de programme afin qu'Oracle9i sache comment gérer l'implémentation spécifique de ces types.

Conversion de type

Oracle convertira automatiquement certains types de données en d'autres types de données. La conversion dépend de l'instruction SQL qui inclut la valeur.

La conversion des données peut également être effectuée explicitement via les fonctions de conversion de type d'Oracle.

Connexion et comparaison

Sur la plupart des plateformes, l'opérateur de connexion dans Oracle SQL est représenté par deux barres verticales (||). La concaténation joint deux valeurs de caractères. La fonction de conversion automatique de type d'Oracle permet de concaténer deux valeurs numériques.

NULL

La valeur NULL est l'une des caractéristiques importantes de la base de données relationnelle. En fait, NULL ne représente aucune valeur, cela signifie aucune valeur. Si vous souhaitez créer une colonne du tableau qui doit avoir une valeur, vous devez la spécifier comme NOT NULL, ce qui signifie que la colonne ne peut pas contenir de valeurs NULL.

Tout type de données peut se voir attribuer une valeur NULL. La valeur NULL introduit la logique à trois états des opérations SQL. Si un côté de la comparaison est une valeur NULL, alors trois états apparaîtront : VRAI, FAUX et aucun.

Étant donné que la valeur NULL n'est pas égale à 0 ou à toute autre valeur, tester si certaines données sont une valeur NULL ne peut être effectué que via l'opérateur relationnel IS NULL.

Les valeurs NULL sont particulièrement adaptées aux situations suivantes : lorsqu'une colonne n'a pas encore reçu de valeur. Si vous choisissez de ne pas utiliser de valeurs NULL, vous devez attribuer des valeurs à toutes les colonnes de la ligne. Cela élimine efficacement la possibilité qu'une colonne n'ait pas besoin de valeur et que la valeur qui lui est attribuée puisse facilement être mal comprise. Cette situation peut induire l'utilisateur final en erreur et conduire à des résultats erronés des opérations cumulées.

Tutoriel recommandé : "Tutoriel vidéo Oracle"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn