`

oracle常用的关键字(主外键、增删列)

 
阅读更多

1.删除表:drop table student---删除表

2.添加列:alter table student add name varcahr2(20)---添加列

alter table TB_BGT_TZPS add zhnqgd_status number(1) default 0;---先在表里手动添加字段,然后查看sql
3.删除列:alter table student drop column name-----删除列

4.增加列和默认值:alter table  TB_GFZZ_SALARY modify  cnbt NUMBER(19,2) default 0

5. 主键约束:alter table student add constraint pk_sno primary key(sno)---添加主键约束,t添加主键pk_sno,主键所在的列是sno。一个一个执行,如果想一起执行就要用分号

6.外键约束:alter table score add constraint fk_sno  foreign key(sno) references student(sno)---给成绩表加外键约束,因此fk_sno这个字段是成绩表的,第一个sno也是成绩表的。参考学生表的sno(主键)

7.检查约束:alter table student add constraint ck_sage chenk(sage>=20 add sage<=40)---给学生表添加约束ck_sage,约束类型的检查约束,约束的字段是sage

8.修改列:alter table student3 modify sex char(2)---发现student3的sex字段char(1)太小,修改成char(2)

9.添加缺省值:select empid,name,tax,paydate,nvl(ceshi,'添加新字段的缺省值') from tax---nvl添加缺省值,在添加记录的时候就会显示这个了

10.修改表的名字:alter table wage rename to xiugai_wage----修改表名字

11.创建 索引:CREATE INDEX idx_test4_name ON test_tab (name );

12.创建索引:ALTER TABLE table_name ADD INDEX index_name (column_list)  

13.ALTER TABLE table_name MODIFY 要修改的字段名字 NULL;---允许该列的值为空

 

14.alter table tp_menu disable constraint FK_TP_MENU_REFERENCE_TP_MENU cascade;---让tp_menu表的约束条件失去效果
15.alter table tp_menu enable constraint FK_TP_MENU_REFERENCE_TP_MENU;---让外键在有效果

16.解锁oralce用户: ALTER USER username ACCOUNT UNLOCK;

17.锁定用户:ALTER USER username ACCOUNT LOCK;

18.修改用户权限:grant alter user to username;

19.唯一约束:alter table tb_realpay_ref_proc add constraint un_realpay_id unique(realpay_id)

20.将索引对应的字段换一下,换了之后在plsql里立马查看sql就能发现是怎么写的:其实表面是换个字段,后台sql则是先删除在创建(我想把当前索引字段pay_id换成realpay_id)

drop index INDX_PAY_ID;
create unique index INDX_PAY_ID on TB_REALPAY_INFO (realpay_id)
  tablespace FTYTH
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );

 

21.删除索引、创建索引

    drop sequence seq_tb_realpay_info;
create sequence seq_tb_realpay_info
minvalue 1
maxvalue 9999999999999999999999999999
start with 22
increment by 1
cache 20;

 

22.修改索引:现在的索引号太大,我要把他变小

思路:

第一步:缓存变成0,自动增长变成-1.

第二步:写匿名函数处理初始值

第三步:在把自动增长变成1.

  alter sequence seq_tb_realpay_info NOCACHE ;
   alter sequence seq_tb_realpay_info  INCREMENT BY -1;
 --  alter sequence SEQ_TB_REALPAY_INFO increment by -1 nocache;--代替上面的两句话
  declare
    seq number(6) := 1;
  begin
    loop
      select seq_tb_realpay_info.nextval into seq from dual;
      if seq=2 then
        exit;
      end if;
    end loop;
  end;
 alter sequence seq_tb_realpay_info  INCREMENT BY 1;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics