1.モードの定義と削除
(1)定義ステートメント:CREATE SCHEMA <モード名> AUTHORIZATION <ユーザー名>;
例:ユーザーWANGの学生コースモードSTを定義します。
CREATE SCHEMA “S-T” AUTHORIZATIONA WANG;
(2)<mode name>が指定されていない場合、<mode name>は暗黙的に<user name>になります。
(3)パターンを作成するには、このコマンドを呼び出すユーザーは、データベース管理権限を持っているか、データベース管理者から付与されたCREATE SCHEMAの権限を持っている必要があります。
(4)CREATE TABLE、CREATE VIEW、GRANT句の
例は、CREATE SCHEMAで受け取ることができます。ユーザーZHANGのモードTESTを作成し、その中にテーブルTAB1を定義します。
CREATE SCHEMA TEST AUTHORIZATIONA ZHANG
CREATE TABLE TEB1(COL1 SMALLINT,
COL2 INT,
COL3 CHAR(20),
COL4 NUMERIC(10,3),
COL5 DECIMAL(5,2)
);
(5)削除モード
DROP SCHEMA <スキーマ名> <CASCADE | RESTRICT>
// CASCADE(カスケード)、RESTRICT(制限)
2. 基本テーブルの定義と削除
(1)基本テーブルを定義します。
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]]
…………
[,<表级完整性约束条件>];
例子:建立一个学生表
CREATE TABLE Student
(Son CHER(9) PRIMARYKEY, //Son是主码
Sname CHAR(20) UNIQUE, //Sname取值唯一
Ssex CHER(2),
Sage SMALLINT,
Sdept CHAR(20)
);
(2)スキーマとテーブルの
関係:各基本テーブルはスキーマに属し、スキーマには複数の基本テーブルを含めることができます
。基本テーブルスキーマの定義方法:
1. スキーマ名はテーブル名に明確に示されています:CREATE TABLE "ST" .Student // StudentはSTに属してい
ます。2。create modeステートメントで同時にテーブルを作成します。3 。モードを
設定します。これにより、テーブルを作成するときに、テーブル名にモード名を指定する必要が
なくなります。現在の検索パスを表示:SHOW search_path;
管理者設定検索パス:SET search_path TO“ ST”、PUBLIC;
(3)基本テーブルを変更します。
ALTER TABLE<表名>//修改表
[ADD [COLUMN]<新列名><数据类型>[完整性约束]//增加新列
[ADD <表级完整性约束>]//添加表级完整性约束
[DROP [COMULN] <列名> [CASCADE|RESTRICT]//删除列
[DROP CONSTRAINT<完整性约束名> [CASCADE|RESTRICT]]//用于删除指定的完整性约束条件
[ALTER COLUMN <列名><数据类型> ];//用于修改原有的列定义,包括修改列明和数据类型
例:
1.「登録時間」列をStudentテーブルに追加します。データ型は日付型です。
ALTER TABLE Student ADD S_entrance DATE;
2. ageのデータ型を文字型(元のデータ型が文字型であると想定)から整数に変更します。
ALTER TABLE Student ALTER COLUMN Sage INT;
3.コース名が一意の値を取る必要があるという条件を追加します
ALTER TABLE Conurse ADD UNIQUE(Cname);