国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
Comment modifier les champs dans la base de données Oracle
Oracle ALTER TABLE MODIFY列示例
Maison base de données Oracle Comment modifier les champs dans la base de données Oracle

Comment modifier les champs dans la base de données Oracle

Mar 02, 2022 pm 06:13 PM
oracle base de données

Dans Oracle, vous pouvez utiliser l'instruction "ALTER TABLE MODIFY" pour modifier les champs. La syntaxe est "ALTER TABLE table name MODIFY field name les opérations courantes incluent?: modifier la visibilité d'une colonne et changer le nom du champ. valeur par défaut d'une colonne, modifier l'expression des colonnes virtuelles, etc.

Comment modifier les champs dans la base de données Oracle

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

Comment modifier les champs dans la base de données Oracle

Dans Oracle, vous pouvez utiliser l'instruction "ALTER TABLE MODIFY" pour modifier les champs et changer la définition des champs existants. ALTER TABLE MODIFY”語句來修改字段,更改現(xiàn)有字段的定義。

要更改表中列的定義,請按如下所示使用ALTER TABLE MODIFY列語法:

ALTER TABLE 表名 
MODIFY 字段名 需要執(zhí)行的操作;

語句很直接。要修改表的列,需要指定要執(zhí)行的列名,表名和操作。

Oracle允許執(zhí)行多種操作,但以下是主要常用的操作:

  • 修改列的可見性

  • 允許或不允許NULL值

  • 縮短或擴大列的大小

  • 更改列的默認值

  • 修改虛擬列的表達式

要修改多個列,請使用以下語法:

ALTER TABLE 表名
MODIFY (
    字段名1 action,
    字段名2 action,
    ...
);

Oracle ALTER TABLE MODIFY列示例

首先,為演示創(chuàng)建一個名為accounts的新表:

-- 12c語法
CREATE TABLE accounts (
    account_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR2(25) NOT NULL,
    last_name VARCHAR2(25) NOT NULL,
    email VARCHAR2(100),
    phone VARCHAR2(12) ,
    full_name VARCHAR2(51) GENERATED ALWAYS AS( 
            first_name || ' ' || last_name
    ),
    PRIMARY KEY(account_id)
);

其次,向accounts表中插入一些行:

INSERT INTO accounts(first_name,last_name,phone)
VALUES('Trinity',
       'Knox',
       '410-555-0197');


INSERT INTO accounts(first_name,last_name,phone)
VALUES('Mellissa',
       'Porter',
       '410-555-0198');


INSERT INTO accounts(first_name,last_name,phone)
VALUES('Leeanna',
       'Bowman',
       '410-555-0199');

第三,通過使用下面的SELECT語句驗證插入操作:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語句,得到以下結(jié)果 -

Comment modifier les champs dans la base de données Oracle

1. 修改列的可見性

在Oracle 12c中,可以將表列定義為不可見或可見。不可見列不可用于查詢,如:

SELECT
    *
FROM
    table_name;

或者,

DESCRIBE table_name;

都是查到不到不可見列的。

但是,可以通過在查詢中顯式指定不可見列來查詢:

SELECT
    invisible_column_1,
    invisible_column_2
FROM
    table_name;

默認情況下,表列是可見的??梢栽趧?chuàng)建表或使用ALTER TABLE MODIFY列語句時定義不可見列。

例如,以下語句使full_name列不可見:

ALTER TABLE accounts 
MODIFY full_name INVISIBLE;

執(zhí)行再次查詢表中數(shù)據(jù),得到以下結(jié)果 -

Comment modifier les champs dans la base de données Oracle

以下語句返回accounts表除了full_name列以外的所有列中返回數(shù)據(jù):

SELECT
    *
FROM
    accounts;

這是因為full_name列是不可見的。要將列從不可見變?yōu)榭梢?,請使用以下語句:

ALTER TABLE accounts 
MODIFY full_name VISIBLE;

2. 允許或不允許null示例

以下語句將email列更改為接受非空(not null)值:

ALTER TABLE accounts 
MODIFY email VARCHAR2( 100 ) NOT NULL;

但是,Oracle發(fā)出以下錯誤:

SQL Error: ORA-02296: cannot enable (OT.) - null values found

因為當將列從可為null改為not null時,必須確保現(xiàn)有數(shù)據(jù)符合新約束(也就是說,如果原來數(shù)據(jù)中NULL是不行的)。

為了解決這個問題,首先更新email列的值:

UPDATE 
    accounts
SET 
    email = LOWER(first_name || '.' || last_name || '@oraok.com') ;

請注意,LOWER()函數(shù)將字符串轉(zhuǎn)換為小寫字母。

然后改變email列的約束:

ALTER TABLE accounts 
MODIFY email VARCHAR2( 100 ) NOT NULL;

現(xiàn)在,它應該就會按預期那樣工作了。

3. 擴大或縮短列示例的大小

假設要添加國際代碼到phone列上,比如:前綴加上+86。 在修改列的值之前,必須使用以下語句擴大phone列的大?。?/p>

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 24 );

現(xiàn)在,我們可以更新電話號碼的數(shù)據(jù)了:

UPDATE
    accounts
SET
    phone = '+86 ' || phone;

以下語句驗證更新:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語句結(jié)果中,應該可以看到原電話號碼前綴有加上+86的國際區(qū)號了。

Comment modifier les champs dans la base de données Oracle

要縮短列的大小,請確保列中的所有數(shù)據(jù)都符合新的大小。

例如,嘗試將phone列的大小縮減到12個字符:

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 12 );

Oracle數(shù)據(jù)庫發(fā)出以下錯誤:

SQL Error: ORA-01441: cannot decrease column length because some  value is too big

要解決這個問題,首先,應該從電話號碼中刪除國際代碼(即:+86):

UPDATE
    accounts
SET
    phone = REPLACE(
        phone,
        '+86 ',
        ''
    );

REPLACE()函數(shù)用一個新的子字符串替換一個子字符串。在這種情況下,它將用空字符串替換+86。

然后縮短phone列的大?。?/p>

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 12 );

4. 修改虛擬列

假設按以下兩列的格式填寫全名:

last_name, first_name

為此,可以更改虛擬列full_name

Pour modifier la définition d'une colonne dans un tableau, utilisez la syntaxe de colonne ALTER TABLE MODIFY comme suit?: ??
ALTER TABLE accounts 
MODIFY full_name VARCHAR2(52) 
GENERATED ALWAYS AS (last_name || ', ' || first_name);
??L'instruction est simple. Pour modifier les colonnes d'une table, vous devez spécifier le nom de la colonne, le nom de la table et l'opération à effectuer. ????Oracle vous permet d'effectuer diverses opérations, mais voici les principales opérations couramment utilisées?: ??
  • ??Modifier la visibilité d'une colonne??< /li>
  • ??Autoriser ou interdire les valeurs NULL??
  • ??Raccourcir ou agrandir la taille d'une colonne??
  • ??Modifier la valeur par défaut d'une colonne??
  • ??Modifier l'expression d'une colonne virtuelle Formule ??
??Pour modifier plusieurs colonnes, utilisez la syntaxe suivante?: ??
SELECT
    *
FROM
    accounts;

Exemple de colonne Oracle ALTER TABLE MODIFY ?????? Tout d'abord ??, créez une nouvelle table appelée accounts pour la démo?: ??
ALTER TABLE accounts
ADD status NUMBER( 1, 0 ) DEFAULT 1 NOT NULL ;
????Deuxièmement ??, insérez quelques lignes dans les accounts table?: ??
ALTER TABLE accounts 
MODIFY status DEFAULT 0;
????Troisièmement ??, vérifiez l'opération d'insertion en utilisant l'instruction SELECT suivante?: ??
INSERT INTO accounts ( first_name, last_name, email, phone )
VALUES ( &#39;Julia&#39;,
         &#39;Madden&#39;,
         &#39;julia.madden@oraok.com&#39;,
         &#39;410-555-0200&#39; );
??Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants -????Comment modifier les champs dans la base de données Oracle??????1. Modifier la visibilité des colonnes ??????Dans Oracle 12c, les colonnes des tableaux peuvent être définies comme invisibles ou visibles. Les colonnes invisibles ne peuvent pas être utilisées pour des requêtes telles que?: ??
SELECT
  *
FROM
  accounts;
?? ou ??rrreee?? Les colonnes invisibles sont introuvables. ????Cependant, il est possible d'interroger des colonnes invisibles en les spécifiant explicitement dans la requête : ??rrreee??Les colonnes du tableau sont visibles par défaut. Les colonnes invisibles peuvent être définies lors de la création de la table ou à l'aide de l'instruction de colonne ALTER TABLE MODIFY. ????Par exemple, l'instruction suivante rend la colonne full_name invisible?: ??rrreee??Exécutez à nouveau l'interrogation des données dans la table et obtenez les résultats suivants?: ????Comment modifier les champs dans la base de données Oracle????L'instruction suivante renvoie les comptes table except full_name< Renvoie les données dans toutes les colonnes sauf la colonne /code>?: ??rrreee?? C'est parce que la colonne <code>full_name n'est pas visible. Pour changer une colonne d'invisible à visible, utilisez l'instruction suivante?: ??rrreee????2. Autoriser ou interdire l'exemple nul??????L'instruction suivante La colonne email est modifiée pour accepter les valeurs non nulles (not null)?: ??rrreee?? Cependant, Oracle émet l'erreur suivante?: ??rrreee?? car lors du changement de colonne disponible en Lorsque null est remplacé par not null, vous devez vous assurer que les données existantes sont conformes aux nouvelles contraintes (c'est-à-dire si NULL n'est pas autorisé dans les données originales). ????Pour résoudre ce problème, mettez d'abord à jour la valeur de la colonne email?: ??rrreee??Veuillez noter que LOWER() convertit une cha?ne en lettres minuscules. ????Modifiez ensuite la contrainte sur la colonne email?: ??rrreee??Maintenant, cela devrait fonctionner comme prévu. ??????3. Agrandissez ou réduisez la taille de l'exemple de colonne??????Supposons que vous souhaitiez ajouter des codes internationaux au téléphone</code > colonne, telle que : Préfixe avec <code>+86. Avant de modifier la valeur de la colonne, vous devez agrandir la taille de la colonne téléphone à l'aide de l'instruction suivante?: ??rrreee??Maintenant, nous pouvons mettre à jour les données du numéro de téléphone?: ??rrreee??L'instruction suivante vérifie la mise à jour?: ??rrreee??Execute Dans les résultats de l'instruction de requête ci-dessus, vous devriez pouvoir voir que le numéro de téléphone d'origine a l'indicatif régional international préfixé par +86. ????Comment modifier les champs dans la base de données Oracle????à Raccourcissez la taille d'une colonne, en vous assurant que toutes les données de la colonne correspondent à la nouvelle taille. ????Par exemple, essayez de réduire la taille de la colonne téléphone à 12?caractères?: ??rrreee??Oracle Database génère l'erreur suivante?: ??rrreee??Pour résoudre ce problème, commencez par , vous devez supprimer les codes internationaux des numéros de téléphone (c'est-à-dire?: +86)?: la fonction ??rrreee??REPLACE() remplace une sous-cha?ne par une nouvelle sous-cha?ne. Dans ce cas, il remplacera +86 par la cha?ne vide. ????Réduisez ensuite la taille de la colonne téléphone?: ??rrreee????4. Modifiez la colonne virtuelle??????Supposons que vous appuyez sur les deux colonnes suivantes Remplissez le nom complet au format : ??rrreee?? Pour cela, vous pouvez changer l'expression de la colonne virtuelle full_name comme suit : ??
ALTER TABLE accounts 
MODIFY full_name VARCHAR2(52) 
GENERATED ALWAYS AS (last_name || &#39;, &#39; || first_name);

以下語句驗證修改:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語句,可以看到以下結(jié)果

Comment modifier les champs dans la base de données Oracle

5. 修改列的默認值

添加一個名為status的新列,默認值為1accounts表中。參考以下語句 -

ALTER TABLE accounts
ADD status NUMBER( 1, 0 ) DEFAULT 1 NOT NULL ;

當執(zhí)行了該語句,就會將accounts表中的所有現(xiàn)有行的status列中的值設置為1。

要將status列的默認值更改為0,請使用以下語句:

ALTER TABLE accounts 
MODIFY status DEFAULT 0;

可以在accounts表中添加一個新行來檢查status列的默認值是0還是1

INSERT INTO accounts ( first_name, last_name, email, phone )
VALUES ( &#39;Julia&#39;,
         &#39;Madden&#39;,
         &#39;julia.madden@oraok.com&#39;,
         &#39;410-555-0200&#39; );

現(xiàn)在,查詢accounts表中的數(shù)據(jù):

SELECT
  *
FROM
  accounts;

執(zhí)行上面查詢語句,應該看類似下面的結(jié)果?

Comment modifier les champs dans la base de données Oracle

正如所看到的那樣,ID4的賬戶的status列的值是0。

推薦教程:《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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Comment installer MySQL 8.0 sur Windows / Linux? Comment installer MySQL 8.0 sur Windows / Linux? Jun 11, 2025 pm 03:25 PM

La clé pour installer MySQL 8.0 est de suivre les étapes et de faire attention aux problèmes communs. Il est recommandé d'utiliser le package d'installation MSI sur Windows. Les étapes incluent le téléchargement du package d'installation, l'exécution du programme d'installation, la sélection du type d'installation, la définition du mot de passe racine, l'activation du démarrage du service et l'attention des conflits de port ou la configuration manuelle de la version zip; Linux (comme Ubuntu) est installé via APT, et les étapes consistent à mettre à jour la source, à installer le serveur, à exécuter des scripts de sécurité, à vérifier l'état du service et à modifier la méthode d'authentification racine; Quelle que soit la plate-forme, vous devez modifier le mot de passe par défaut, créer des utilisateurs ordinaires, configurer des pare-feu, ajuster les fichiers de configuration pour optimiser les ensembles de caractères et autres paramètres pour garantir la sécurité et l'utilisation normale.

Comment se connecter au pool de connexions de la base de données Oracle à l'aide de JDBC Comment se connecter au pool de connexions de la base de données Oracle à l'aide de JDBC Jun 04, 2025 pm 10:15 PM

Les étapes pour se connecter à un pool de connexions de base de données Oracle à l'aide de JDBC incluent: 1) Configurer le pool de connexion, 2) Obtenez la connexion à partir du pool de connexion, 3) Effectuer des opérations SQL et 4) Fermez les ressources. Utilisez OracleUCP pour gérer efficacement les connexions et améliorer les performances.

Comment afficher toutes les bases de données dans MongoDB Comment afficher toutes les bases de données dans MongoDB Jun 04, 2025 pm 10:42 PM

La fa?on de visualiser toutes les bases de données de MongoDB est d'entrer la commande "showdbs". 1. Cette commande affiche uniquement des bases de données non vides. 2. Vous pouvez basculer la base de données via la commande "Utiliser" et insérer des données pour l'afficher. 3. Faites attention aux bases de données internes telles que "local" et "config". 4. Lorsque vous utilisez le pilote, vous devez utiliser la méthode "listDatabases ()" pour obtenir des informations détaillées. 5. La commande "db.stats ()" peut afficher les statistiques détaillées de la base de données.

Utilisation de l'intégration de la base de données Oracle avec Hadoop dans un environnement Big Data Utilisation de l'intégration de la base de données Oracle avec Hadoop dans un environnement Big Data Jun 04, 2025 pm 10:24 PM

La raison principale de l'intégration des bases de données Oracle avec Hadoop est de tirer parti des puissantes capacités de gestion des données et de transaction d'Oracle, ainsi que des capacités de stockage et d'analyse de données à grande échelle de Hadoop. Les méthodes d'intégration comprennent: 1. Exporter les données d'OracleBigDataconnector à Hadoop; 2. Utilisez Apachesqoop pour la transmission des données; 3. Lisez les données Hadoop directement via la fonction de table externe d'Oracle; 4. Utilisez OracleGoldEngate pour obtenir la synchronisation des données.

Résumé des instructions de base de données SQL Résumé des instructions courantes pour la base de données SQL Résumé des instructions de base de données SQL Résumé des instructions courantes pour la base de données SQL May 28, 2025 pm 08:12 PM

Les instructions SQL communes incluent: 1. CreateTable crée des tables, telles que CreateTableMloyees (IDIntPriMaryKey, NameVarchar (100), SalaryDecimal (10,2)); 2. CreateIndex crée des index, tels que createIndexidx_NameOnEmployees (nom); 3. INSERTINTO INSERT DES DONNéES, telles que les valeurs d'Insertinto (id, nom, salaire) (1, ?Johndoe?, 75000.00); 4. Sélectionnez Vérifier

Comment interroger votre mot de passe administrateur pour Oracle Database Comment interroger votre mot de passe administrateur pour Oracle Database Jun 04, 2025 pm 10:06 PM

Interroger directement les mots de passe de l'administrateur n'est pas recommandé en termes de sécurité. Le principe de conception de sécurité de la base de données Oracle est d'éviter de stocker les mots de passe en texte brut. Les méthodes alternatives incluent: 1. Réinitialisez le mot de passe utilisateur SYS ou système à l'aide de SQL * Plus; 2. Vérifiez le mot de passe chiffré via le package DBMS_CRYPTO.

Comment faire Oracle sans prendre une certaine valeur de champ Comment faire Oracle sans prendre une certaine valeur de champ Jun 04, 2025 pm 10:21 PM

Dans la base de données Oracle, si vous souhaitez ne pas renvoyer la valeur d'un certain champ lors de la demande, vous pouvez utiliser les trois méthodes suivantes: énumérez uniquement les champs requis dans l'instruction SELECT et ne sélectionnez pas les champs indésirables. Créez des vues pour simplifier les requêtes, mais faites attention aux co?ts de complexité et de maintenance des vues. L'exclusion des colonnes indésirables à l'aide de sous-requêtes ou de jointures est adaptée à l'exclusion dynamique des colonnes, mais peut affecter les performances de la requête. Chaque méthode a ses scénarios applicables et ses inconvénients potentiels, et la méthode la plus appropriée doit être sélectionnée en fonction des besoins spécifiques et des considérations de performance.

Quelles sont les différences entre les structures de base de données physiques et logiques dans Oracle? Quelles sont les différences entre les structures de base de données physiques et logiques dans Oracle? Jun 10, 2025 am 12:01 AM

La structure logique de la base de données Oracle se concentre sur la fa?on dont les données sont organisées par les utilisateurs et les développeurs, y compris les tables, les vues, les modèles et les espaces de table; La structure physique implique le stockage réel des données sur le disque, y compris les fichiers de données, les journaux de rétablissement, les fichiers de contr?le, etc. 1. La structure logique comprend des tables, des vues, des index, des modèles et des espaces de table, qui déterminent comment les utilisateurs accèdent aux données; 2. La structure physique est constituée de fichiers de données, de réductivité, de fichiers de contr?le et de journaux d'archives, qui sont responsables de la persistance et de la récupération des données; 3. L'espace de table est un pont clé reliant la logique et la physique, et sa capacité est limitée par les fichiers de données sous-jacents; 4. Différents r?les ont différents niveaux d'attention, les développeurs se concentrent sur l'optimisation de la logique et DBA accorde plus d'attention à la gestion physique; 5. Comprendre les différences entre les deux peut aider à résoudre efficacement les problèmes, optimiser les performances et une gestion raisonnable

See all articles