ORACLE 创建表结构,表结构修改

创建表语法:

CREATE TABLE example
(
    col1 NUMBER,
    col2 VARCHAR2(20) NOT NULL PRIMARY KEY
);

查看表的描述:

SQL> DESC example;
Name Type         Nullable Default Comments 
---- ------------ -------- ------- -------- 
COL1 NUMBER       Y                         
COL2 VARCHAR2(20) 

插入语法:

INSERT INTO example
  (col1, col2)
VALUES
  (   /*{ "col1" }*/,   /*{ "col2" }*/);
注意事项:上下两个括号中的项必须一一对应.


删除表语法:

DROP TABLE example;

删除表记录语法:

DELETE FROM example WHERE col1=*;


修改表记录语法:

DELETE FROM example WHERE col1=*;


查询表记录:

可以为表名或者列名 定义别名.

SELECT * FROM example e;
SELECT e.col1, e.col2 FROM example e;

增加和删除、更新列:

--增加列
alter table example 
  add  columnName datatype;
--删除列
alter table example 
  drop columnName ;
--更新列
alter table example 
  RENAME oldcolumnName TO newcolumnname ;

修改列数据类型:

alter table example 
   MODIFY columnName newdatatype ;

修改默认值:

ALTER TABLE example 
   MODIFY (columnName DEFAULT default_value) ;

重命名表:

ALTER TABLE example 
   RENAME TO new_table_name ;

修改表所属表空间:

ALTER TABLE example 
   MOVE TABLESPACE SYSTEM;

完整性约束:

  1、非空约束:

创建表时创建,

create table NUMBERS
(
  NUMBERID NUMBER(20) not null,
  MYNUMBER VARCHAR2(20) not null
)
 为已存在的列添加非空约束:

ALTER TABLE example 
   MODIFY column_name NOT NULL;
删除NOT NULL约束:

ALTER TABLE example 
   MODIFY column_name NULL;

2、主键约束:

创建表示创建约束:

CREATE TABLE example
(
    col1 NUMBER,
    col2 VARCHAR2(20) NOT NULL PRIMARY KEY   --此列为主键约束列
);

为已存在的列添加主键约束:

ALTER TABLE example 
   ADD CONSTRAINT primary_key_name PRIMARY KEY (col_name);

删除主键:

ALTER TABLE example 
   DROP CONSTRAINT primary_key_name ;

3、unique约束

创建表时添加:

/************************************************************
 * Code writed by setyg
 * Time: 2014/4/4 12:45:16
 ************************************************************/

CREATE TABLE teacher
(
    teacherid       NUMBER(5) NOT NULL CONSTRAINT pri_key_id PRIMARY KEY,
    teachername     VARCHAR2(20) NOT NULL,
    teachernum      NUMBER(20) NOT NULL CONSTRAINT uni_num UNIQUE
) 

为已存在的列添加unique约束:

/************************************************************
 * Code writed by setyg
 * Time: 2014/4/4 12:48:22
 ************************************************************/
ALTER TABLE export 
ADD CONSTRAINT uni_study_no UNIQUE(study_no);

删除唯一性约束:

--写法1
ALTER TABLE export
DROP UNIQUE (unique_col_name);

--写法2
ALTER TABLE teacher
DROP CONSTRAINT constraint_name;
4、check约束

--限制表A的teacherid字段范围必须是100-200之间
ALTER TABLE teacher ADD CONSTRAINT chk_id CHECK (teacherid BETWEEN 100 AND  200);

5、创建FOREIGN KEY约束

       FOREIGN KEY即为外键约束,作用是让两个表通过外键建立关系.

       FOREIGN KEY有以下4个特点:

       *  如果某列添加为外键,则该列的值只能为引用表中的主键属性值或者空值.

       *  可以为一个元组的一个属性定义为FOREIGN KEY也可以为多个属性定义FOREIGN KEY.

       *  定义为FOREIGN KEY的外键列可以和被引用的主键列处于同一个关系中.

       *  对于同一个属性可以同时定义为FOREIGN KEY和NOT NULL.

创建外键:

--创建表时创建
CREATE TABLE teacher
(
teacherid NUMBER(20) NOT NULL PRIMARY KEY,
teachername VARCHAR2(20) NOT NULL,
teachernum NUMBER(20) REFERENCES numbers(numberid),
teacherage NUMBER(3) NOT NULL    
)

为已存在的表添加外键:

ALTER TABLE teacher
ADD CONSTRAINT foreign_key FOREIGN KEY (teachernum) REFERENCES numbers(numberid);

删除外键:

ALTER TABLE teacher
DROP CONSTRAINT constraint_foreign_key_name;

6、控制约束的约束

       disable和enable

       设置约束为不可用:      

ALTER TABLE teacher
DISENABLE CONSTRAINT constraint_key_name;
        修改约束为激活状态:

ALTER TABLE teacher
MODIFY CONSTRAINT constraint_key_name ENABLE;
7、验证约束

8、延迟约束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一部分 数据库体系结构 第1章 Oracle体系结构 1 1.1 数据库概述及实例 1 1.2 数据库 1 1.2.1 空间 2 1.2.2 文件 2 1.3 实例 3 1.4 数据库内部结构 3 1.4.1 、列和数据类型 4 1.4.2 约束条件 5 1.4.3 抽象数据类型 6 1.4.4 分区和子分区 7 1.4.5 用户 7 1.4.6 模式 8 1.4.7 索引 8 1.4.8 簇 9 1.4.9 散列簇 9 1.4.10 视图 9 1.4.11 序列 10 1.4.12 过程 10 1.4.13 函数 10 1.4.14 软件包 11 1.4.15 触发器 11 1.4.16 同义词 12 1.4.17 权限及角色 12 1.4.18 数据库链接 13 1.4.19 段、盘区和块 14 1.4.20 回滚段 14 1.4.21 快照和显形图 14 1.5 内部存储结构 15 1.5.1 系统全局区 15 1.5.2 环境区 17 1.5.3 程序全局区 17 1.6 后台进程 18 1.7 外部结构 20 1.7.1 重做日志 20 1.7.2 控制文件 21 1.7.3 跟踪文件与警告日志 21 1.8 基本数据库的实现 21 1.8.1 备份/恢复功能 22 1.8.2 安全性能 23 1.8.3 典型数据库逻辑设计 24 1.8.4 典型数据库物理设计 24 1.9 逻辑模型约定 25 1.9.1 一对一关系 25 1.9.2 一对多关系 26 1.9.3 多对多关系 26 1.10 创建数据库 27 1.10.1 修改创建模板的脚本文件 27 1.10.2 创建数据库后修改 MAXDATAFILES 27 1.10.3 使用OEM 28 第2章 硬件配置研究 30 2.1 结构概述 30 2.2 独立主机 31 2.2.1 磁盘阵列独立主机 31 2.2.2 磁盘镜像独立主机 34 2.2.3 多数据库独立主机 35 2.3 网络主机 36 2.3.1 数据库网络 37 2.3.2 远程更新:高级复制选项 39 2.3.3 集群服务器:Oracle并行服务器 40 2.3.4 多处理器:并行查询和并行装载 选项 41 2.3.5 客户机/服务器数据库应用 42 2.3.6 三层体系结构 43 2.3.7 Oracle透明网关访问 44 2.3.8 备用数据库 44 2.3.9 复制型数据库 45 2.3.10 外部文件访问 45 第3章 数据库逻辑设计 47 3.1 最终产品 47 3.2 优化软结构 47 3.2.1 起点:SYSTEM空间 47 3.2.2 分离应用程序数据段:DATA 48 3.2.3 分离应用程序索引段:INDEXES 48 3.2.4 分离工具段:TOOLS 49 3.2.5 分离回滚段:RBS 50 3.2.6 分离临时段:TEMP 50 3.2.7 分离用户:USERS 51 3.3 扩展OFA 51 3.3.1 分离低使用的数据段:DATA_2 51 3.3.2 分离低使用的索引段:INDEXS_2 52 3.3.3 分离工具索引:TOOLS_1 52 3.3.4 分离特殊回滚段:RBS_2 53 3.3.5 分离用户特殊临时段: TEMP_USER 53 3.3.6 附加的应用特殊OFA扩展 54 3.4 合理的逻辑设计 54 3.5 解决方案 55 第4章 数据库物理设计 57 4.1 数据库文件设计 57 4.1.1 数据文件间的I/O冲突 57 4.1.2 所有数据库文件中的I/O瓶颈 59 4.1.3 后台进程中的并发I/O操作 61 4.1.4 定义系统恢复能力与性能目标 61 4.1.5 系统硬件及结构镜像的定义 62 4.1.6 识别专用于数据库的磁盘 62 4.1.7 选择正确的设计 63 4.2 I/O权值估计的检验 66 4.3 如何解决磁盘不足问题 69 4.4 解决方案 70 4.4.1 小型开发数据库设计 70 4.4.2 产品OLTP数据库设计 70 4.4.3 具有历史数据的产品OLTP数据库 设计 71 4.4.4 数据仓库设计 72
ORACLE数据库智能化管理系统2012 软件介绍 序言 ORACLE数据库管理们: 你们还在为处理日常大量数据,天天写过多的SQL语句而烦恼吗? 还在为由于没有面面具到的软件来汇制想要的日常数据报而烦恼吗? 还在为查找帐务不平的数据或数据重复,而不知是哪些数据错误或重复,造成不能继续操作,而费时费力手工查找问题所在而烦恼吗? 还在为数据要多字段大批量处理或指定满足过多条件,处理成特定数据而手工劳动烦恼吗? 还在为两数据多字段相关联,要批量修改其一多字段数据成另一数据值,而不知怎样做而烦恼吗? 还在为查找数据库安全情况,不知权限分配情况如何?查起来又费时费力,而烦恼吗? 还在为数据库安全情况,或角色权限批量授权或撤权,操作起来又费时费力,而烦恼吗? 还在为需要多数据综合计算才能求得到想要的数据结果,而书写SQL语句书写起来复杂而烦恼吗? 还在为达到求某种数据值需要多数据关联起来后得到结果重复,想去除多余行值,单独书写的SQL语句又无法解决而频繁手工操作或通过编写软件才能实现想要的结果而烦恼吗? 还在为查看数据库会话情况及死锁情况,想批量处理这些死锁及断开不必要空闲会话,一一处理而手功劳动吗? 还在为日常数据处理分析,从查询结果中,求出可自定任意选择行及数字型字段数据求合,而手工一行行、一列列累加求和吗? 还在为某种数据不同类别所占总数比例及各多少?而手工累加一一计算吗?本系统使用了ABC方法计算得出结果。 查询数据条件参数,智能化字典辅助批量字段输入功能,使您的工作简单而更加轻松,用起来更加顺手。 查询或导入的数据结果智能化创建计算字段和行列分类合计,从而进一步使结果数据更加理想化,省去了您宝贵的数据计算时间。 智能化SQL历史语句保存和历史SQL智能注解查询功能,节省了您智能化重复创建和查询SQL语句的时间,提高了您的工作效率。 数据库状态及运行情况综合查看,使您了解ORACLE运行状况及空间、日志归档、数据文件等使用情况更直观,并可智能生成数据库热备份脚本和备份恢复方案,为您的数据库保驾护航,使您高枕无忧。 本系统可执行SQL分组语句后,再对结果某值代码变为相对应名称,从而提高了数据库对SQL语句执行性能,减轻了因关联太多查询,造成数据库性能下降带来的负担。 本系统可对执行SQL语句的结果集批量逐行处理多字段值一起做为检索条件,从它中取出想要的多字段(值或计算结果)数据对相应的目标多字段进行赋值,从而简化了SQL语句书写难度,减少查询时间,提高了综合性能。 批量数据比较功能,增加了数字型字段4种(左右两边数据加减乘除)处理方式和4种行数据处理(左右两边互移或互复制行),可从数据源复合查询结果数据与目标数据进行运算,达到想要的结果等。 数据窗口右键菜单功能整合多种处理,功能强大,简单易操;重复数据可自动处理成唯一,也可自行处理;可自定义选择从查询结果集中的数行,进行数据求合及自定义图形项目分析;字段的10多种属性设置;数据窗口自创帮你省去建才能进行数据处理的麻烦;各行数据在总数据所占的比例,一目了然,省去你一一计算。 生成可定义标准化数据代码;补足不足数据代码位数; 自由SQL语句查询参数多字段批量字典输入; 外部数据批量进行赋值处理; 数据列名可汉字后,导出成xls格式。 自由选择更新数据方式,减少对数据库过多无关字段操作。 可根据查询结果自动生成IN、DECODE等多形式函数的参数,省去你查询手工输入上述函数多参数时的痛苦。 批量处理查询结果集中数据去除多余前后空格,增加对多字段字符串数据标准化,替换或去除数据中任意数据位数据,使其达到你想要的数据。 自动创建并可导出全数据库同义词创建语句,省去了你书写的麻烦。 您可以自由定制数据过滤、排序等条件、打印预览并可自动缩放到整张纸大小打印、打印数据行、列自己选定,打印设置自由灵活。 自动生成序列数据,切换数据库,无须退出系统。 人不在时,系统有锁定功能,防止别人动您数据! 您可以自动生成带分组小计的数据查询结果,使用你看的数据更加清晰。 分组查询条件SQL语句(带不带分组小计随您)智能化生成,只需您动几下鼠标就可完成。 交叉数据报智能化生成,省去你为了一时的数据,而劳命伤财地去开发系统。 过程、触发器、结构、同义词、视图、在线会话等查看一目了然。 给有关部分下达通知,消息框自动弹出。 。。。。。。。 本系统以智能化语句书写及批量处理数据及图形分析数据为特点,可以解决你的上述及未述后顾之忧,尽量把处理数据的主动权让给用户{本系统许多功能,只要你灵活运用,就可以得到意想不到的收获!},拥有了它,从此让你可以轻松、灵活对待日常数据库数据管理处理工作。 还等什么?赶快与我联系13856992267、QQ:23807773要求试用或购买吧?价格联系时谈! 本系统还可以根据用户需求,增加共性功能。{感谢您的支持及来电来函提出您的宝贵建议,为本系统更加地完善,贡献出您的一份力量!}
要还原结构,可以使用以下方法: 1. 使用备份文件还原结构: 如果您有之前的数据库备份文件,可以使用该备份文件还原整个数据库到备份时的状态,包括结构和数据。这是最可靠且全面的还原方法。具体的还原步骤可能会根据您使用的备份工具或方法而有所不同,您可以参考相应的文档或手册来执行还原操作。 2. 使用数据泵导出/导入还原结构: 如果您使用 Oracle 数据泵工具(expdp/impdp)导出了的定义,您可以使用导出文件来还原结构。首先,使用数据泵导出工具导出的定义: ``` expdp <用户名>/<密码> DIRECTORY=<导出目录> DUMPFILE=<导出文件.dmp> SCHEMAS=<用户名> INCLUDE=TABLE_EXPORT ``` 然后,使用数据泵导入工具导入的定义: ``` impdp <用户名>/<密码> DIRECTORY=<导入目录> DUMPFILE=<导入文件.dmp> REMAP_SCHEMA=<旧用户名>:<新用户名> REMAP_TABLESPACE=<旧空间>:<新空间> CONTENT=METADATA_ONLY ``` 这将只导入的定义而不包括数据。根据需要,您可以使用 `REMAP_SCHEMA` 和 `REMAP_TABLESPACE` 参数来更改所属的用户和空间。 3. 使用逆向工程工具还原结构: 如果您使用逆向工程工具(如 Oracle SQL Developer、Toad 等)创建了的模型或脚本,您可以使用该工具来还原结构。打开逆向工程工具,导入或加载的模型或脚本文件,然后执行逆向工程操作以还原结构。 请注意,在执行任何还原操作之前,请确保在进行操作之前备份数据库以防止数据丢失。另外,根据实际情况选择适合您的还原方法,并参考相应的文档或手册以获得更详细的步骤和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值