获得有关表的信息

可以直接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表、列、约束的操作的更多相关文章

  1. Oracle表级约束和列级约束

    Oracle表级约束和列级约束 1. 表级定义约束 指的是在定义完一个表所有列之后,再去定义所有相关的约束. 注意:not null 约束只能在列级上定义. 2. 列级定义约束 指的是在定义一个表的每 ...

  2. Oracle—表、约束、索引、表空间、分区、序列、统计信息

    表.约束.索引.表空间.分区.序列.统计信息 一.表及其操作 1.创建表 create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 ...

  3. Oracle表的约束

    表的约束定义:表的约束是 ORACLE 数据库中应用在表数据上的一系列强制性规则 按照约束用途分类: PRIMARY KEY:主键约束 FOREIGN KEY:外键约束 CHECK:检查约束 UNIQ ...

  4. Oracle 表管理 约束 索引

    表的约束与完整性: 1.实体完整性 主键唯一性 2.域完整性 不能向number中插入varchar 3.参照完整性 外键 以别的表的字段作为外键,再插入该表时所插入外键的值必须在被参照表中该字段有那 ...

  5. 针对Oracle表 列字段的增加、删除、修改以及重命名操作sql

    增加字段语法:alter table tablename add (column datatype [default value][null/not null],….); 说明:alter table ...

  6. Oracle表与约束关系

    手动回收表的存储方式: SQL> alter table aux_emp deallocate unused; //回收所有未使用的存储空间 表已更改. 回收aux_emp的存储空间,保留50K ...

  7. Linux服务器磁盘扩展和oracle表空间文件迁移操作记录

    1.环境介绍 服务器硬件:Dell R710 服务器OS:红帽子Linux   RHEL4.8 数据库:Oracle 10g 2.出现的问题 因为数据表每天有上百万的数据写入表,加上建立索引,导致表空 ...

  8. 3、oracle表空间及索引操作

    3.1.创建表空间和用户授权: 1.创建表空间: CREATE TABLESPACE <表空间名> LOGGING DATAFILE '<存放路径>' SIZE 50M AUT ...

  9. constraint更新表列约束默认值

    --更新约束 alter TABLE [dbo].[Sk_Recruit] drop constraint DF_Sk_Recruit_lastcommenttime go   alter TABLE ...

  10. ORACLE表空间操作实例

    本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.v$tempfile.dba_s ...

随机推荐

  1. git删除未跟踪文件

    # 删除 untracked files git clean -f   # 连 untracked 的目录也一起删掉 git clean -fd   # 连 gitignore 的untrack 文件 ...

  2. seajs初尝 加载jquery返回null解决学习日志含示例下载

    原文地址:http://www.tuicool.com/articles/bmuaEb 如需demo示例,请点击下方链接下载: http://yunpan.cn/cVEybKs8nV7CF  提取码 ...

  3. IP地址基础和子网规划之其一

    IP地址的介绍:在TCP/IP环境中,各种各样的终端.工作站能同服务器.其他工作站无缝连接,是因为每一网络节点都使用了全网范围内能够唯一标识节点的IP地址.每个网络有一个全网唯一的网络号,在该网络中各 ...

  4. textField:shouldChangeCharactersInRange:replacementString:

    http://blog.csdn.net/mamong/article/details/44964801

  5. IOC设计模式初步了解(day02)

    IOC(Inversion of Control):控制反转. *其他解释:依赖注入.依赖反转…… 设计目标:简化JEE的研发工作,提供IOC容器,控制bean的生成.注入,解耦. 看了网上的一些帖子 ...

  6. 视觉差效果 - jqyery scrollTop原理

    原理是用页面的滚动高度scrollTop()来控制背景图的位置 附上源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transition ...

  7. Liqn基础

    Linq:语言集成查询 (LINQ) 是 Visual Studio 2008 中引入的一组功能,可为 C# 和 Visual Basic 语言语法提供强大的查询功能. LINQ 引入了标准易学的数据 ...

  8. HTML5 video 事件

    1.获取视频时间长度 当视频载入video后,使用 onloadedmetadata 事件获取视频的时间长度. video.onloadedmetadata = function () { var v ...

  9. 关于TP的RBAC的使用

    如果你是一个TP的重度使用者的话,请自动略过笔者以下文字 权限管理我在成为一个开发者1年半内,接触过2种,一种就是数学方式 比如我们文件夹权限的755这种权限管理的方式,这种二进制的权限管理的方式 无 ...

  10. windows安装配置mysql-5.7.13-winx64方法

    1.mysql-5.7.13-winx64.zip下载 官方下载地址:http://dev.mysql.com/downloads/mysql/ 2.解压到D:\mysql\mysql-5.7.13- ...