SQL : DDL


DDL (Data Definition Language)


DDLデータ定義言語は、アーキテクチャ内のオブジェクトを管理するために使用されます.

1.テーブルの作成、削除、変更


テーブルは、データベース・オブジェクトの典型的なタイプです.

(1)表の作成


CREATEコマンドを使用して作成できます.
CREATE TABLEテーブル名(カラム定義1、カラム定義2...)

(2)テーブルの削除


DROP TABLEテーブル名
データのみを削除する場合は、テーブル定義を保持し、DELETEを使用します.

(3)表の変更


ALTER TABLEテーブル名の変更コマンド
ALTER TABLEを使用すると、テーブルに格納されているデータを保持し、構成のみを変更できます.
  • A.列の追加(ADD)
    ALTER TABLEテーブル名ADD列の定義
  • カラム名が重複している場合は、カラムを追加できません.
    カラムの追加は、定義の変更に影響する可能性があります.変更したテーブルに行を追加するには、INSERTコマンドを確認する必要があります.カラムを追加する場合は、カラムのデータ値を指定する必要があります.
  • B.列属性の変更(MODIFY)
    ALTER TABLEテーブル名MODIFY列の定義
    EX) ALTER TABLE sample MODIFY newtable int(11)
  • データ型、デフォルト値、NOT NULL制約などの属性を変更できます.

  • C.列の名前変更(CHANGE)
    ALTER TABLE表名CHANGE既存列名新情熱の

  • D.列の削除(DROP)
    10個のALTER TABLE表名DROP
  • 2.制限


    テーブルにコンストレイントを設定するデータを制限できます.コンストレイントには、Null以外のコンストレイント、プライマリキーコンストレイント、外部参照(一致)コンストレイントが含まれます.

    (1)テーブル作成時の制約の定義

  • のテーブル列で制約
  • を定義します.
    CREATE TABLE sample (
    	a INTEGER NOT NULL // NOT NULL 제약
      	b INTERGER NOT NULL UNIQUE // NOT NULL UNIQUE 제약
    )
  • テーブル制約
  • CREATE TABLE sample (
    	no INTERGER NOT NULL, 
      	sub_no INTERGET NOT NULL, 
      	CONSTRAINT pkey_sample PRIMARY KEY (no, sub_no)
    ) // 테이블 제약(복수의 열에 제약) (이름은 CONSTRAINT)
    1つのカラムではなく複数のカラムをコンストレイントする場合は、テーブルコンストレイントと呼ばれます.
    コンストレイントの名前を付ける場合は、後で管理できるようにコンストレイントの名前を変更します.

    (2)コンストレイントの追加

  • カラム制約
  • を追加
    ALTER TABLE sample MODIFY c INT(10) NOT NULL;
  • テーブル制約
  • を追加
    ALTER TABLE sample CONSTRANIT sample PRIMARY KEY(a)
    テーブルには1つのプライマリ・キーしか設定できません.

    (3)制約の削除

  • 列制約
  • を削除
    ALTER TABLE sample MODIFY c int(10)
    NOT NULLを削除する場合は、カラム定義を変更して削除できます.
  • テーブル制約
  • を削除
    ALTER TABLE sample DROP CONSTRAINT pkey_sample
    // DROP 하부명령으로 삭제할 수 있습니다

    (4)主キー


    プライマリ・キーは検索キーで、テーブルのローを指定できます.
    したがって、プライマリ・キー制約が設定されているカラムに重複値を保存することはできません.INSER INTOUPDATEはすべて実行されません.

    3.索引


    「インデックス」と呼ばれるインデックスは、データベース・オブジェクトの1つです.インデックスとは、テーブルに貼り付けられたインデックスのことです.
    インデックスは、インデックスを貼り付けることで検索速度を向上させます.ここで、「検索」とは、SELECTコマンドでWHERE文を使用して条件を指定し、一致行を検索することを意味します.
    インデックスはバイナリ・ナビゲーションと同様に、ローをより迅速に見つけることができます.

    1.索引の作成と削除


    DDLを使用してインデックスを作成または削除します.
    CREATE INDEX
    DROP INDEX

    (1)インデックス作成

    CREATE INDEX 인덱스명 ON 테이블명 (열명1, 열명2...)
    CREATE INDEX sample ON sample1(no)

    (2)索引の削除

    DROP INDEX 인덱스명 ON 테이블명

    2. EXPLAIN


    EXPLAINコマンドを使用して、インデックスを使用して検索するかどうかを確認します.
    EXPLAIN SQL 명령
    EXPLAIN SELECT * FROM sample WHERE no 1
    このSQLコマンドは実際には実行されていませんが、データベースが実行ステータスを示しています.

    4.ビュー


    ビューもデータベース・オブジェクトの1つです.逆にSELECTコマンドはオブジェクトではなく、コマンドの名前を指定することもデータベースに登録することもできません.
    ビューでは、指定できず登録できないSELECTコマンドをオブジェクトとして名前と管理できます.
    SELECTコマンドを実行すると、テーブルに格納されているデータを欠落値に戻します.

    1.ビューの作成と削除


    (1)ビューの作成

    CREATE VIEW 뷰명 AS SELECT 명령
    CREATE VIEW sample AS SELECT FROM sample1
    SELECT FROM sample
    CREATE VIEWを作成すると、SELECTコマンドのFROM文に割り当てることができます.

    (2)ビューの削除

    DROP VIEW 뷰명

    2.ビューの弱点


    ビューは、ストレージスペースではなくCPUリソースを使用するデータベース・オブジェクトです.
    したがって、ビューソースであるテーブルに大量のデータを格納し、集約時にビューを使用すると、処理速度が低下します.(重ねて使用しても)
    このような状況を避けるために、実際の光線ビューを使用することができます.(Materialized View)
  • 墨蒂リアルライフビュー
    一時的にデータを格納および使用するのではなく、ストレージデバイスにデータを格納します.
    最初の参照時のデータを保存し、再参照時に保存したデータを使用します.
  • また、親クエリに任意の方法で関連付けられたサブクエリについては、ビューのSELECTコマンドとして使用できません.関数テーブルを使用して、このような状況を回避できます.