Oracle表、列、约束的操作
获得有关表的信息
可以直接DESCRIBE
DESC[RIBE] table_name;
可以通过数据字典
SELECT *
FROM user_tables
WHERE table_name =xxxx;
[or WHERE table_name IN ('xxxx','xxxx')]
重命名表
RENAME table_old_name TO table_new_name;
截断表
删除表中的所有行,并重置表的存储空间,表的表名列属性等会保留。
TRUNCATE table_name;
删除表
DROP TABLE table_name;
向表、列添加注释
COMMENT ON TABLE table_name IS 'xxxxx'; COMMENT ON COLUMN table_name.column_name IS 'xxxx';
获得表、列的信息

SELECT *
FROM user_tab_comments
WHERE table_name='xxx'; SELECT *
FROM user_col_comments
WHERE table_name='xxx';

获得表中的列的信息
SELECT *
FROM user_tab_columns
WHERE table_name='xxxx';
添加列
ALTER TABLE table_name
ADD column_name type;
重命名列
ALTER TABLE table_name
RENAME COLUMN column_old_name TO column_new_name;
修改列
ALTER TABLE table_name
MODIFY column_name type;
如果一个表中没有任何行或列为空值,可以将表列修改为任意一种数据类型,tpye 为数据类型。
修改列的默认值
ALTER TABLE table_name
MODIFY column_name DEFAULT xxxx;
删除列
ALTER TABLE table_name
DROP COLUMN column_name;
对列添加约束
添加CHECK 约束
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
CHECK ( column_name IN ('xxx','xxxx'));
[or CHECK ( column_name >0)]
添加一个约束,表中现有的行一定要符合这个约束条件。
添加NOT NULL 约束
CREATE TABLE table_name
MODIFY column_name [CONSTRAINT constraint_name] NOT NULL;
NOT NULL 是用MODIFY 添加的, 上述[]是为这个约束添加一个名字。
添加FOREIGN KEY约束

ALTER TABLE table_name
DROP COLUMN column_name; ALTER TABLE table_name
ADD [CONSTRAINT constraint_name]
column_name REFERENCES table_name1(column_name1) [ON DELETE {CASCADE | SET NULL} ];

通常需要先删除该列然后通过添加列时吧FOREIGN KEY 一起添加。
ON DELETE CASCADE 为级联删除。
ON DELETE SET NULL 为外键被删除时该位置设 NULL。
添加UNIQUE 约束
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE(column_name);
删除约束
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
禁用约束
默认情况下,约束在创建是启动,可以再创建时禁用约束。
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE(column_name) DISABLE;
启动约束、禁用约束
ALTER TABLE table_name
{ENABLE|DISABLE } CONSTRAINT constraint_name;
启动约束时表中数据必须满足约束条件,通过制定 ENABLE NOVALIDATE 可以选择只对新数据应用某个约束。
ALTER TABLE table_name
ENABLE NOVALIDATE CONSTRAINT constraint_name;
约束默认情况下是 ENABLE VALIADTE;
延时约束
在事务被提交是强制执行的约束。在添加约束是指定 DEFERRABLE ,约束添加后不能修改,只能通过删除重新添加。有两种标识,
INITIALLY INNEDIATE :每次向表中添加数据、修改表的数据或从表中删除数据是都检测则个约束。
INITALLY DEFERRED :只在有事务被提交是,才检测这个约束。
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE(column_name) DEFERRABLE INITIALLY DEFERRED;
获得有关约束的信息
SELECT *
FROM user_constraints
WHERE table_name = 'xxx';
可以通过表 all_constraints 获得所有可以访问的约束信息。
获得有关列的约束的信息
SELECT *
FROM user_con_columns
WHERE table_name ='xxx';
Oracle表、列、约束的操作的更多相关文章
- Oracle表级约束和列级约束
Oracle表级约束和列级约束 1. 表级定义约束 指的是在定义完一个表所有列之后,再去定义所有相关的约束. 注意:not null 约束只能在列级上定义. 2. 列级定义约束 指的是在定义一个表的每 ...
- Oracle—表、约束、索引、表空间、分区、序列、统计信息
表.约束.索引.表空间.分区.序列.统计信息 一.表及其操作 1.创建表 create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 ...
- Oracle表的约束
表的约束定义:表的约束是 ORACLE 数据库中应用在表数据上的一系列强制性规则 按照约束用途分类: PRIMARY KEY:主键约束 FOREIGN KEY:外键约束 CHECK:检查约束 UNIQ ...
- Oracle 表管理 约束 索引
表的约束与完整性: 1.实体完整性 主键唯一性 2.域完整性 不能向number中插入varchar 3.参照完整性 外键 以别的表的字段作为外键,再插入该表时所插入外键的值必须在被参照表中该字段有那 ...
- 针对Oracle表 列字段的增加、删除、修改以及重命名操作sql
增加字段语法:alter table tablename add (column datatype [default value][null/not null],….); 说明:alter table ...
- Oracle表与约束关系
手动回收表的存储方式: SQL> alter table aux_emp deallocate unused; //回收所有未使用的存储空间 表已更改. 回收aux_emp的存储空间,保留50K ...
- Linux服务器磁盘扩展和oracle表空间文件迁移操作记录
1.环境介绍 服务器硬件:Dell R710 服务器OS:红帽子Linux RHEL4.8 数据库:Oracle 10g 2.出现的问题 因为数据表每天有上百万的数据写入表,加上建立索引,导致表空 ...
- 3、oracle表空间及索引操作
3.1.创建表空间和用户授权: 1.创建表空间: CREATE TABLESPACE <表空间名> LOGGING DATAFILE '<存放路径>' SIZE 50M AUT ...
- constraint更新表列约束默认值
--更新约束 alter TABLE [dbo].[Sk_Recruit] drop constraint DF_Sk_Recruit_lastcommenttime go alter TABLE ...
- ORACLE表空间操作实例
本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.v$tempfile.dba_s ...
随机推荐
- T4文本模板
<#...#> 可以包含语句 <#=...#> 用于表达式,提供“输出”操作 <#+ ...> 使用类功能控制块向文本模板添加方法.属性.字段,必须作为文件中最后 ...
- ControlStyles(枚举)
指定控件的样式和行为. 此枚举有一个 FlagsAttribute 特性,通过该特性可使其成员值按位组合.属性: ContainerControl:如果为true,则控件是类似容器的控件. UserP ...
- Java中关于OOM的场景及解决方法
原文地址:http://developer.51cto.com/art/201112/305696.htm 1.OOM for Heap=>例如:java.lang.OutOfMemoryErr ...
- 使用Flex 和 Red5开发简单视频直播功能
Flex 是一个高效.免费的开源框架,可用于构建具有表现力的 Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR, 可以实现跨浏览器.桌面和操作系统.虽然只能使用 ...
- 虚函数—c++的灵魂
<note_content /> 虚函数 C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数 ...
- “Win”组合键
Windows组合键功能: 单独按下显示或隐藏 [开始] 功能表. +Break 显示 [系统内容] 对话方块. +D 显示桌面. +M 最小化所有的视窗. +Shift+M 还原最小化的视窗. +E ...
- 配置Kestrel 网址Urls
配置Kestrel 网址Urls ASP.NET Core中如何配置Kestrel Urls呢,大家可能都知道使用UseUrls() 方法来配置. 今天给介绍全面的ASP.NET Core 配置 Ur ...
- chart画图
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- SQLServer中数据库文件的存放方式,文件和文件组
我们公司近一年来做了一个CRM系统. 遇到一个问题就是:在插入交流记录的时候速度特别慢.(交流记录数据量大) 后来我们经理采用文件组的方法,将客户交流记录这张表提出来就快很多了 这里有一篇关于文件组的 ...
- iOS高仿城觅-感谢大神分享
项目展示,由于没有数据,所以所有的cell显示的都是我自己写的数据 抽屉 首页部分效果 首页效果 部分效果 发现 消息 搜索 设置 模糊效果 代码注释展示 代码注释展示 还有很多细节就不一一展示了,大 ...