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

本文详细介绍了数据库中模式和基本表的定义、修改与删除操作,包括使用CREATESCHEMA和CREATETABLE语句创建模式和表,以及通过ALTERTABLE进行表结构的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值