数据库可以建立很多模式,在一个模式下可以建立多个表,视图等。
一、对模式的操作: 1. 建立模式: create schema <模式名> authorization <用户> [<表定义子句>] | [<视图定义子句>] | [<授权定义子句>]; 例: create schema test authorization zhang create table tab_1 ( col_1 smallint col_2 char(10) . . . ) 2. 删除模式: Drop schema <模式名> <cascde | restrict > cascde(级联):表示删除模式时,删除所有模式下包含的对象。 restrict(限制) :如果模式之下定义有表,视图之类的,拒绝执行删除 只有当模式下无任何对象时执行删除操作。
|
二、基本表的定义、删除、修改 1. 定义基本表: create table <表名> ( <列名> <数据类型> [列级完整性约束条件] , <列名> <数据类型> [列级完整性约束条件] , . , . , . ,/*注意:列建完之后用逗号分开 [<表级完整性约束条件>] ) 例1: create table student ( sno char(10), primary key /* 主键*/ sname char(9) unique) /* sname取唯一值 ...) 例2.create table sc ( cno char(9), snochar(11), cname char(40) not null , / * 不能为空*/ cpno char(4), foreign key (cpno) reference Course(cno) /*表级完整性约束条件,cpno是外码,被参照表是Course,被参照列是cno*/ primary key (sno , cno) /*主码由两个属性构成,必须作为表级完整性约束条件定义*/ ) 3..数据类型:参考http://www.w3school.com.cn/sql/sql_datatypes.asp 4.定义表的所属模式: a.在创建表名时明显的给出模式名 create table "S_T" . student(...)/*注意模式角标有点,表 示X模式下的表 b.在创建模式的同时定义表( 参照对模式的创建——1) c.设置所属模式:set serach_path to "S_T" , public 5.修改基本表: alter table <表名> [add [column] <列名> <数据类型>[完整性约束条件]]/* 新 增列 [add <完整性约束条件>] [drop [column] <列名> [cascade | restrict] ]/*删除列以及 引用对象 [drop constant<完整性约束名> [cascade | restrict] ] alter column <列名> <数据类型>;/*注意:中间没有逗号 6.删除基本表:drop table <表名> [cascade | restrict]; |