基本操作(定义,修改,删除)

1.模式的定义与删除
(1)定义语句:CREATE SCHEMA <模式名> AUTHORIZATION <用户名>;
示例:为用户WANG定义一个学生-课程模式 S-T

  CREATE SCHEMA “S-T” AUTHORIZATIONA WANG;

(2)如果没有指定<模式名>,那么<模式名>隐含为<用户名>。
(3)要创建模式,调用该命令的用户必须拥有数据库管理权限,或者获得了数据库管理员授予的CREATE SCHEMA的权限
(4)在CREATE SCHEMA中可以接收CREATE TABLE,CREATE VIEW和GRANT子句
示例:为用户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 “S-T”.Student //Student所属的模式是S-T
2.在创建模式语句中同时创建表
3.设置所属模式,这样在创建表时表名中不必给出模式名
显示当前搜索路径:SHOW search_path;
管理员设置搜索路径:SET search_path TO “S-T”,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.将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数

  ALTER TABLE Student ALTER COLUMN Sage INT;

3.增加课程名称必须取唯一值的条件

ALTER TABLE Conurse ADD UNIQUE(Cname);

猜你喜欢

转载自blog.csdn.net/weixin_43244265/article/details/105685338
今日推荐