SQLデータ定義
DDL
:関係のセットを定義するだけでなく、それぞれの関係のための情報を定義する、など、SQL DDL
- 関係の各モード
- 各プロパティタイプの値
- 整合性制約
- 関係の各セットのためのメンテナンスインデックス
- 各関係情報のセキュリティと権限
- ディスク上の物理的なストレージ構造間の各関係
基本タイプ
一般的なタイプのSQLサポート:
- CHAR(N):固定長の文字列、Nは文字列の長さnは、自動的にスペースを追加しない場合、その長さであり、提供されてもよいです。
- VARCHAR(N-):N-までの可変長文字列、;
- int型:整数
- SMALLINT:小さな整数
- 数値(P、D) :固定点は、pビットの総数は、小数点の右側にDビットがあります。EG、数字(3,1)格納されていない0.32,333.3、44.5を格納することができます。
- レアル、ダブル、プレシジョン:浮動小数点の倍精度浮動小数点
- フロート(n)は、少なくともNビットの浮動小数点精度
基本的なスキーマ定義
作成するテーブルには、リレーションシップを定義します
作成 、テーブルの学生 (S_IDのVARCHAR(8 )、 s_name VARCHAR(20 )、 dept_mentのVARCHAR(20 )、 クラスはvarchar(10 )、 寮のVARCHAR(20 )、 主 キー(S_ID)、 外国 キー(DEPT_NAME)参照の部門)。
学生間の関係を定義し、ID、名前、部門、クラス、ベッドルームを含む学生。この関係では、S_ID主キーは、主キー(S_ID)で示されています。
DEPT_NAMEが外部キーである、外国KET(DEPT_NAME)参照部門がDEPT_NAMEを指摘し、部門の主キーです。
- キープライマリ(A、B、C、?????):Aは、B、C ?????は関係の主キーで、主キー属性がなければなりませんnull以外のユニークな、通常は主キー属性を選択してください
- キー外国人(A、B、C··)参照 other_table:属性値にA、B、C···の関係がother_table主キー関係にタプルに対応しなければならない示します
- 値は、値が許可されていないother_tableは表示されません。
- nullではない:表すNULL値は、プロパティに許可されていません
挿入挿入タプル
挿入 に学生の 値(20229991、' 王ヤン'、' CS '、' CS-01 '、' B4-202 ');
また、複数の行を挿入することができます
挿入 に学生の値(20229992、' 明王'、' 数学'、' 数学-02 '、' P2-301 ' )、 (20229993、' 張風水'、' CS '、' CS-02 '、「B4- 411 ' )、 (20229993、' 劉のPing ' ' CS '、"CS-03 ' ' B4-518 ");
、ここでは数字のみを説明し、文の最後に得点しなければなりません
あなたは順番を覚えていない場合、あなたはまた、挿入することができます
挿入 に学生(s_name、S_ID、DEPT_NAME、寮、クラス) の値(' 李梅'、20229913、' 金融'、' G2-117 '、' FI-09 ');
クエリに基づいてタプルを挿入します。例えば、700人の以上の学生の各大学入試の得点は、優秀な学生の奨学金になることをしましょうとの交わりは6000をマーク
挿入 に賞品 を選択 S_ID、s_name、DEPT_NAME、6000 からstudnet CET_grade = 6000。
削除削除タプルを
削除 から学生。
関係の学生にすべてのタプルを削除しますが、そこに学生モデル。
ドロップ削除タプルを
ドロップ テーブルの学生を。
すべてのタプルの学生を削除し、生徒のモデルを削除し、テーブルの再構築の学生を作成しない限り、そうでなければ、これにタプルを挿入することはできません。
削除
削除 から R ここで P。
PはRの関係から条件を満足するタプルを削除しました
/ * 王のギャングタプルとしての関係の学生からs_nameを削除/ * 削除 から学生 WHERE s_name = 「王のギャング」; 学生 / * に関係の学生20229950から20229999中間タプルでS_IDを削除* / 削除 から学生 WHERE S_ID BETWEEN 20229950 及び 20229999 ; / * 一部の学生に関係の学生からタプルを削除し、それらが教育事務所に結びついている* / 削除 から学生 WHERE DEPT_NAME 中(SELECT DEPT_NAME から部門 WHEREビル= ' のDSL%の___は' ); / * 学生のタプルの平均スコアはより低いすべての学生の入学を削除* / 削除 から学生 CET_grade <(SELECT のArg(CET_grade) から学生を)。
通常、タプルでより多くの自由を特定のクエリを削除することができます削除します
テーブルを変更増加(減少)プロパティ間の既存の関係のために
変更 テーブルの学生が追加グレードDを、
グレードの学生は、ドメインDでの関係、の増加に属性。
変更 テーブル学生のドロップグレードを。
年生の関係の学生からプロパティを削除しますが、このコマンドは、多くのデータベースシステムではサポートされていません。