目次
Oracle ALTER TABLE の例" >Oracle ALTER TABLE の例
1. 列の追加の例
2. 列のプロパティの変更例" >2. 列のプロパティの変更例
テーブルから既存の列を削除するには、次の構文を使用します:
テーブルの名前を新しい name
ホームページ データベース Oracle Oracleでテーブル構造を変更する方法

Oracleでテーブル構造を変更する方法

Jan 13, 2022 am 11:15 AM
oracle

Oracle では、「ALTER TABLE」ステートメントを使用してテーブル構造を変更できます。このステートメントは、列の追加または削除、元の列タイプの変更、列またはテーブルの名前変更などによって、元のテーブルを変更できます。構造、構文「ALTER TABLE テーブル名 [オプションの変更]」。 ALTER TABLE テーブル名 [オプションの変更]

Oracleでテーブル構造を変更する方法

このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle では、「ALTER TABLE」ステートメントを使用してテーブル構造を変更できます。

ALTER TABLE ステートメントは、列の追加または削除、元の列タイプの変更、列またはテーブルの名前変更など、元のテーブルの構造を変更できます。

ALTER TABLE ステートメントの構文:

ALTER TABLE 表名 [修改选项]
ログイン後にコピー

上記のステートメントでは、

  • まず、変更するテーブルの名前を指定します。

  • 2 番目に、テーブル名の後に実行する変更操作を指定します。

ALTER TABLE ステートメントを使用できます:

  • 1 つ以上の列を追加します
  • 列定義を変更します
  • 1 つ以上の列を削除する
  • 列の名前を変更
  • テーブルの名前を変更

各操作がどのように機能するかを理解するために、いくつかの例を見てみましょう。

前のチュートリアルで作成した persons テーブルをデモンストレーションのために使用します。

-- 12c语法
CREATE TABLE persons(
    person_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR2(50) NOT NULL,
    last_name VARCHAR2(50) NOT NULL,
    PRIMARY KEY(person_id)
);
ログイン後にコピー

1. 列の追加の例

テーブルに新しい列を追加するには、次の構文を使用します:

ALTER TABLE table_name
ADD column_name type constraint;
ログイン後にコピー

たとえば、次のステートメント birthdate という名前の新しい列を persons テーブルに追加します。

ALTER TABLE persons 
ADD birthdate DATE NOT NULL;
ログイン後にコピー

persons テーブルを見ると、次のようになります。 誕生日 日付列が列リストの最後に追加されます:

DESC persons; 

Name       Null     Type         
---------- -------- ------------ 
PERSON_ID  NOT NULL NUMBER       
FIRST_NAME NOT NULL VARCHAR2(50) 
LAST_NAME  NOT NULL VARCHAR2(50) 
BIRTHDATE  NOT NULL DATE
ログイン後にコピー

複数の列をテーブルに同時に追加するには、次のように新しい列を括弧で囲みます:

ALTER TABLE table_name
ADD (
    column_name type constraint,
    column_name type constraint,
    ...
);
ログイン後にコピー

次の例を見てください:

ALTER TABLE persons 
ADD (
    phone VARCHAR(20),
    email VARCHAR(100)
);
ログイン後にコピー

この例では、ステートメントは phoneemail という 2 つの名前を users# に追加します。 ## テーブル。新しい列。

DESC persons

Name       Null     Type          
---------- -------- ------------- 
PERSON_ID  NOT NULL NUMBER        
FIRST_NAME NOT NULL VARCHAR2(50)  
LAST_NAME  NOT NULL VARCHAR2(50)  
BIRTHDATE  NOT NULL DATE          
PHONE               VARCHAR2(20)  
EMAIL               VARCHAR2(100)
ログイン後にコピー

列のプロパティを変更するには、次の構文を使用します:

ALTER TABLE table_name
  MODIFY column_name type constraint;
ログイン後にコピー

たとえば、次のステートメントは

birthdate 列を空の列に変更します:

ALTER TABLE persons MODIFY birthdate DATE NULL;
ログイン後にコピー

persons テーブル構造を再度確認します:

DESC persons

Name       Null     Type          
---------- -------- ------------- 
PERSON_ID  NOT NULL NUMBER        
FIRST_NAME NOT NULL VARCHAR2(50)  
LAST_NAME  NOT NULL VARCHAR2(50)  
BIRTHDATE           DATE          
PHONE               VARCHAR2(20)  
EMAIL               VARCHAR2(100)
ログイン後にコピー

示されているとおり ご覧のとおり、

birthdate の日付は無力になります。

複数の列を変更するには、次の構文を使用します。

 ALTER TABLE table_name
  MODIFY ( column_1 type constraint,
          column_1 type constraint,
         ...);
ログイン後にコピー

たとえば、次のステートメントは、

phone 列と email 列を ## に変更します。 # NOT NULL 列を指定し、email 列の長さを 255 文字に拡張します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>ALTER TABLE persons MODIFY( phone VARCHAR2(20) NOT NULL, email VARCHAR2(255) NOT NULL );</pre><div class="contentsignin">ログイン後にコピー</div></div>

persons

テーブル構造を確認します。再度: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>DESC persons; Name Null Type ---------- -------- ------------- PERSON_ID NOT NULL NUMBER FIRST_NAME NOT NULL VARCHAR2(50) LAST_NAME NOT NULL VARCHAR2(50) BIRTHDATE DATE PHONE NOT NULL VARCHAR2(20) EMAIL NOT NULL VARCHAR2(255)</pre><div class="contentsignin">ログイン後にコピー</div></div>

3. 既存の列を削除する例

テーブルから既存の列を削除するには、次の構文を使用します:

ALTER TABLE table_name
DROP COLUMN column_name;
ログイン後にコピー

このステートメントは、テーブル構造から列を削除し、その列に格納されているデータを削除します。次の例では、

persons

テーブルから birthdate 日付型列を削除します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>ALTER TABLE persons DROP COLUMN birthdate;</pre><div class="contentsignin">ログイン後にコピー</div></div>

persons

テーブル構造をもう一度見てみると、次のことがわかります。 誕生日 列が削除されました: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>DESC persons; Name Null Type ---------- -------- ------------- PERSON_ID NOT NULL NUMBER FIRST_NAME NOT NULL VARCHAR2(50) LAST_NAME NOT NULL VARCHAR2(50) PHONE NOT NULL VARCHAR2(20) EMAIL NOT NULL VARCHAR2(255)</pre><div class="contentsignin">ログイン後にコピー</div></div> 複数の列を同時に削除するには、次の構文を使用します:

ALTER TABLE table_name 
DROP (column_1,column_2,...);
ログイン後にコピー

たとえば、次のステートメントは

を削除します。個人テーブル # および

email 列の電話##:

ALTER TABLE persons
DROP
  ( email, phone );
ログイン後にコピー
persons

テーブルを見てみましょう:

DESC persons;

Name       Null     Type         
---------- -------- ------------ 
PERSON_ID  NOT NULL NUMBER       
FIRST_NAME NOT NULL VARCHAR2(50) 
LAST_NAME  NOT NULL VARCHAR2(50)
ログイン後にコピー
email

および

phone 列は予想どおり削除されました。 4. 列の名前変更の例

バージョン 9i 以降、Oracle では次のように列の名前を変更するための句が追加されました:

ALTER TABLE table_name
RENAME COLUMN column_name TO new_name;
ログイン後にコピー

たとえば、次のステートメントは

first_name

列から

forename 列へ:

ALTER TABLE persons 
RENAME COLUMN first_name TO forename;
ログイン後にコピー
次のステートメントは結果を確認します:
DESC persons;

Name      Null     Type         
--------- -------- ------------ 
PERSON_ID NOT NULL NUMBER       
FORENAME  NOT NULL VARCHAR2(50) 
LAST_NAME NOT NULL VARCHAR2(50)
ログイン後にコピー

5. テーブルの名前を変更します。 例

テーブルの名前を新しい name

テーブル名に変更するには、次の構文を使用します。

ALTER TABLE table_name
RENAME TO new_table_name;
ログイン後にコピー
たとえば、次のステートメントは users## になります。 # テーブルの名前が

people

に変更されました テーブル: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>ALTER TABLE persons RENAME TO people;</pre><div class="contentsignin">ログイン後にコピー</div></div> 推奨チュートリアル: "<code>Oracle Tutorial"

以上がOracleでテーブル構造を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracleで環境変数を構成する方法 Oracleで環境変数を構成する方法 Apr 11, 2025 pm 07:18 PM

Oracle Environment Variable Configuration Guide:Oracle_home Environment変数を作成し、Oracle Home Directoryを指します。 Oracle Binary DirectoryをPath Environment変数に追加します。 TNS_ADMIN環境変数を設定します(ファイルがTNSを使用して命名されている場合)。環境変数の設定を検証して、出力が設定変数を表示していることを確認します。

Oracleを再び追求する方法 Oracleを再び追求する方法 Apr 11, 2025 pm 07:33 PM

Oracleは複数の重複排除クエリメソッドを提供します。個別のキーワードは、各列の一意の値を返します。 Group by Clauseは、結果をグループ化し、各グループの非繰り返し値を返します。一意のキーワードは、一意の行のみを含むインデックスを作成するために使用され、インデックスをクエリすると自動的に重複排除が行われます。 row_number()関数は、一意の数値を割り当て、行1のみを含む結果をフィルタリングします。min()またはmax()関数は、数値列の非繰り返し値を返します。交差する演算子は、2つの結果セットの共通値を返します(複製なし)。

Oracleで文字化けのコードを解決する方法 Oracleで文字化けのコードを解決する方法 Apr 11, 2025 pm 10:09 PM

Oracle Garbledの問題は、データベース文字セットをチェックしてデータと一致するようにすることで解決できます。データベースに一致するようにクライアント文字を設定します。データを変換するか、列文字セットを変更してデータベース文字セットに一致させます。 Unicode文字セットを使用して、マルチバイト文字セットを避けます。データベースとクライアントの言語設定が正しいことを確認してください。

Oracleのストアドプロシージャの使用方法 Oracleのストアドプロシージャの使用方法 Apr 11, 2025 pm 07:03 PM

ストアドプロシージャは、データベースに保存できるSQLステートメントのセットであり、別のユニットと繰り返し呼ぶことができます。パラメーター(in、out、inout)を受け入れ、コードの再利用、セキュリティ、パフォーマンス、モジュール性の利点を提供できます。例:ストアドプロシージャを作成して、2つの数値の合計を計算してOUTパラメーターに保存します。

Oracleの表空間サイズを確認する方法 Oracleの表空間サイズを確認する方法 Apr 11, 2025 pm 08:15 PM

Oracle Tablespaceサイズを照会するには、次の手順に従ってください。クエリを実行して、TableSpace名を決定します。DBA_TABLESPACesからTableSpace_Nameを選択します。クエリを実行してテーブルスペースのサイズをクエリします:sum(bytes)をtotal_size、sum(bytes_free)asavail_space、sum(bytes) - sum(bytes_free)as sum(bytes_free)as dba_data_files from tablespace_

テーブルフィールドをOracleに追加する方法 テーブルフィールドをOracleに追加する方法 Apr 11, 2025 pm 07:30 PM

ALTER TABLEステートメントを使用して、特定の構文は次のとおりです。ALTERTABLE TABLE_NAME add column_name data_type [constraint-clause]。 WHERE:table_nameはテーブル名、column_nameはフィールド名、data_typeはデータ型、制約条項はオプションの制約です。例:テーブルの従業員を変更すると、電子メールvarchar2(100)は、従業員テーブルに電子メールフィールドを追加します。

Oracleデータベースをインポートする方法 Oracleデータベースをインポートする方法 Apr 11, 2025 pm 08:06 PM

データインポート方法:1。SQLLOADERユーティリティを使用します。データファイルを準備し、制御ファイルを作成し、SQLLoaderを実行します。 2。IMP/EXPツールを使用します。データをエクスポートし、データをインポートします。ヒント:1。ビッグデータセットに推奨されるSQL*ローダー。 2。ターゲットテーブルが存在する必要があり、列定義が一致します。 3。インポート後、データの整合性を検証する必要があります。

Oracleで主要なキー制約を作成する方法 Oracleで主要なキー制約を作成する方法 Apr 11, 2025 pm 07:15 PM

主キーは、テーブル内の各行を一意に識別する特別な列または列の組み合わせです。テーブル内のレコードが一意であり、次のように作成できることが保証されます。AlterTableステートメントを使用してテーブル名を指定します。プライマリキーキーワードを追加して、列名を追加して、プライマリキーとして指定します。主なキーの制約は、データの一意性を確保し、クエリ速度を改善し、レコードの重複を防ぎ、テーブル結合を簡素化するのに役立ちます。

See all articles