一、表Table

測试表:MY_TEST_TABLE

-- Create table
create table MY_TEST_TABLE
(
A VARCHAR2(30),
B NUMBER(10) default 1,
C DATE
)
tablespace BOSSWG_CFG
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table MY_TEST_TABLE
is 'test';
-- Add comments to the columns
comment on column MY_TEST_TABLE.A
is 'aaaa';
comment on column MY_TEST_TABLE.B
is 'bbbb';
comment on column MY_TEST_TABLE.C
is 'cccc';

0.添加字段

alter table MY_TEST_TABLE add D VARCHAR2(50);

-- Add comments to the columns 

comment on column MY_TEST_TABLE.D

  is 'dddddd';

1. 改动表字段名

alter table MY_TEST_TABLE rename column A to D;  //将A字段名改成D

2. 改动表字段类型

alter table MY_TEST_TABLE modify B varchar2(10);  //将B字段的number(10)类型改动为varchar2(10)

3. 改动表字段默认值

alter table MY_TEST_TABLE modify B default 2;  //将B字段的默认值1改成2

4. 改动表字段的非空属性

alter table MY_TEST_TABLE modify B not null;  // 将B字段改成非空

5. 改动表字段的备注

comment on column MY_TEST_TABLE.B   // 改动B字段的备注值

  is 'bbbb2';

6. 主键操作

alter table MY_TEST_TABLE

  add constraint PK_MY_TEST_TABLE primary key (A);  //加入主键

alter table MY_TEST_TABLE

  drop constraint PK_MY_TEST_TABLE cascade;  //删除主键

//假设要改动主键的话。即必须先删除主键,再加入主键。

7.check约束操作

alter table MY_TEST_TABLE                

  add constraint CKC_MY_TEST_TABLE_B           //加入约束

  check (B in(1,2,3));

alter table MY_TEST_TABLE

  drop constraint CKC_MY_TEST_TABLE_B;     //删除约束

//假设要改动约束。则必须先删除约束,再加入约束。

8. 外键操作

alter table MY_TEST_TABLE

  add constraint FK_MY_TEST_DTABLE_A foreign key (A)   //加入外键

  references MY_TEST_TABLE2 (A) on delete cascade;

alter table MY_TEST_TABLE

  drop constraint FK_MY_TEST_DTABLE_A;           //删除外键

//假设要改动外键。必须先删除外键,再加入外键

二、序列SEQ

測试序列:MY_TEST_SEQ

create sequence MY_TEST_SEQ
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
cache 20;

1. 改动minvalue与maxvalue值:

alter sequence MY_TEST_SEQ 

minvalue 20

maxvalue 99999999999;

2. 改动nextvalue值:

alter sequence MY_TEST_SEQ increment by 8 nocache;       //由原来nextvalue值为2。改动为nextvalue值为10

select MY_TEST_SEQ.nextval from dual;

alter sequence MY_TEST_SEQ increment by 1 cache 20;    //这句必须有。不然会重置cache和增长率

alter sequence MY_TEST_SEQ increment by -8 nocache;    //由原来nextvalue值为10,改动为nextvalue值为2

select MY_TEST_SEQ.nextval from dual;

alter sequence MY_TEST_SEQ increment by 1 cache 20;    //这句必须有。不然会重置cache和增长率

Oracle 经常使用的改动语句的更多相关文章

  1. oracle数据库中的基本语句

    下面的都是最基本的oracle数据库的数据查询语句,这是我在网上整理的一份文档,方便以后自己的查看,当然,能把这些记下来就是最好的. 说明:查询表中的数据 1. select * from emp; ...

  2. 对于Oracle中分页排序查询语句执行效率的比较分析

    转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分 ...

  3. oracle 修改表的sql语句

    oracle 修改表的sql语句     1增加一个列:ALTER TABLE 表名 ADD(列名 数据类型);如:ALTER TABLE emp ADD(license varchar2(256)) ...

  4. 查询Oracle正在执行的sql语句

    --查询Oracle正在执行的sql语句及执行该语句的用户 SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, ...

  5. oracle数据库删除数据Delete语句和Truncate语句的对比

    oracle数据库删除数据Delete语句和Truncate语句的对比 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分 ...

  6. oracle 监控执行的sql语句

    oracle 监控执行的sql语句 select * from v$sqlarea a where module='PL/SQL Developer' order by a.FIRST_LOAD_TI ...

  7. oracle查询锁表解锁语句

    --oracle查询锁表解锁语句--首先要用dba权限的用户登录,建议用system,然后直接看sql吧 --1. 如下语句 查询锁定的表: SELECT l.session_id sid, s.se ...

  8. Oracle SQL Developer中SQL语句格式化快捷键

    Oracle SQL Developer中SQL语句格式化快捷键 格式化SQL语句:Ctrl+F7

  9. oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)

    先列上我的数据库表格: c_date(Date格式)     date_type(String格式) 2011-01-01                   0 2012-03-07         ...

随机推荐

  1. stm32之PWM

    PWM是pulse width modulation的缩写,即脉冲宽度调制.其通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形: 1.PWM是一种对模拟信号电平进行数字编码的方法.通过高分辨率计 ...

  2. MVC自定义AuthorizeAttribute实现权限管理

    [转]MVC自定义AuthorizeAttribute实现权限管理 原文载自:小飞的DD http://www.cnblogs.com/feiDD/articles/2844447.html 网站的权 ...

  3. c++特殊函数

    C++中NULL不能写作小写,NULL的值为零,也可以写作0 在自己写的复制构造函数中不改变原对象,所以传进来的参数可以设为const类型的,这样可以保证传进来的对象不被改变 比如A(const A ...

  4. 字符串查找函数 find()函数

    find()函数可以帮助你在两个字符串之间,查找很多他们的关系... #include<iostream> #include<string> using namespace s ...

  5. iOS开发之计算动态cell的高度并缓存

    项目中有个类似微博那样的动态cell,文字和图片的多少都不是确定的 刚开始使用autolayout,结果很多问题,最后我发现了一个框架 FDTemplateLayoutCell 写的很好,自动布局ce ...

  6. c,assert 宏的实现

    预备知识:#define _VAL(x) #x //#x的作用就是把x表达式变成一个字符串.(注意 : 不带换行符'\n' , 换行符ascii==10).如:_STR(i<100)printf ...

  7. javascript获取页面各种高度

    网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWi ...

  8. 从 Qt 的 delete 说开来

    原地址:http://blog.csdn.net/dbzhang800/article/details/6300025 在C++中学习过程中,我们都知道: delete 和 new 必须 配对使用(一 ...

  9. WCF技术剖析之三十:一个很有用的WCF调用编程技巧[上篇]

    原文:WCF技术剖析之三十:一个很有用的WCF调用编程技巧[上篇] 在进行基于会话信道的WCF服务调用中,由于受到并发信道数量的限制,我们需要及时的关闭信道:当遇到某些异常,我们需要强行中止(Abor ...

  10. Bootstrap技术: 如何给nav导航组件的tab页增加关闭按钮以及动态的添加和关闭tab页

    先给出示例html代码 <div> <!-- Nav tabs --> <ul class="nav nav-tabs" role="tab ...