Oracle数据库实例——操作数据表结构

操作数据表结构
1.复制相同结构的表

确认test1表是否存在,如果创建一个与已存在表相同名称的表将出现错误,通过DESC test1命令查看test1表。

DESC TEST.TEST1

在这里插入图片描述

	-- 复制表结构
	CREATE TABLE TEST.TEST1
	AS -- AS 复制表结构的关键字
	SELECT * FROM TEST.TEST WHERE 1=2; -- WHERE子句表示只复制表结构,不复制表数据

在这里插入图片描述

DESC TEST.TEST2 --查看表结构是否一致

在这里插入图片描述

2.使用DROP TABLE命令删除表
-- 确认test2表是否存在,若存在使用命令
DROP TABLE TEST.TEST2
/

DROP TABLE命令执行后,目标表即从数据库中被移除到回收站中(没有完全消失,而是重命名为一个由系统定义的名称,它存在于同一个表空间中,具有与原始表相同的结构,它还可以被恢复),基于该表的索引、触发器等数据对象也被同时删除。

3.创建主键约束
	-- 创建主键约束
	CREATE TABLE TEST.STU1(
	SNO VARCHAR2(10) PRIMARY KEY, -- 主键约束
	SNAME VARCHAR2(10),
	SGENTLE VARCHAR2(2),
	SAGE NUMBER(2),
	SBIRTH DATE,
	SDEPT VARCHAR2(20));

Oracle通过设置主键列来强制数据的唯一性。主键约束保证了该字段不能为空。

表已存在,就不能再使用CREATE TABLE语句来创建主键约束了,这是可以使用ALTER TABLE来实现

ALTER TABLE STU1
ADD CONSTRAINT PK_STU1 -- ADD CONSTRAINT表示追加约束,PK_STU是主键约束名称
PRIMARY KEY(SNO) -- 表示追加的是主键约束,SNO表示以STU表中的SNO字段为主键。
/

一个表只能有一个主键。

4.删除约束

查看约束

SELECT TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE
FROM USER_CONSTRAINTS
WHERE TABLE_NAME='TEST.STU1'
/

删除约束

ALTER TABLE TEST.STU1
DROP CONSTRAINT PK_STU1

删除约束只能是与其他表无关联的约束,如果该约束同时作为其他表的外键,则不能删除。

5.ALTER TABLE命令

增加新字段

ALTER TABLE STU
ADD SMAJOR VARCHAR2(20)
DEFAULT 'BIGDATA'
NOT NULL
/

修改字段

ALTER TABLE STU
MODITY SNAME VARCHAR2(15)
DEFAULT '无'
NOT NULL
/

删除字段

ALTER TABLE STU
DROP COLUMN SBIRTH
/

重命名

ALTER TABLE STU
RENAME TO STU1
/

RENAME STU TO STU1
/
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChlinRei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值