修改所有列_【Oracle】Oracle数据库常用修改方法:表,列,评论,序列的增删改查...

一、问题

在开发中,会经常遇到对表(table)结构,列(column),评论(coment),序列(sequence)的微调;下面就将这些对象的增删改查操作总结如下,有些特殊对象没有修改等方法,就不写了;如果有大神指导,欢迎留言;另,以下的操作均采用举例法来说明,感觉这样更容易理解;

二、详情

A.【表操作】table

1.新增表

    create table demo(
    id number not null,
    name varchar2(20) not null,
    age varchar2(10)
    )

--2.删除表

    drop table demo;

--3.修改表

--3.1增加主键

    ALTER TABLE DEMO ADD primary key(id);--使用系统默认的SYS开头的约束名;
    ALTER TABLE DEMO ADD constraint pk_id primary key(id);--自定义约束名

--3.2删除主键

--先查看有哪些约束关系,字段POSITION是1的即主键约束关系;空格的是not null 约束关系;

    SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME = 'DEMO';
    ALTER TABLE DEMO DROP CONSTRAINT ();

--3.3修改主键

    update USER_CONS_COLUMNS a set a.position ='1' where a.CONSTRAINT_NAME ='SYS_C0013908';
--3.4查看主键
    SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME = 'DEMO';
    --select * from user_ind_columns a where table_name='DEMO'

--修改表结构比较复杂,其余的请参看下面的【修改列】和【修改评论】

--4.查看表

    select dbms_metadata.get_ddl('TABLE','DEMO') from dual;--查看【表结构】
    select * from demo a;--查看表记录,如果不存在DEMO表,则会弹出报错框;

select * from ALL_TABLES a where a.table_name ='DEMO';--如果表不存在,不会报错;查询的记录为空;

B.【列操作】column

1.新增列

    alter table DEMO add remark varchar2(100); 

--2.删除列

    alter table DEMO drop column remark;

--3.修改列

    alter table DEMO modify remark varchar2(50);

--4.查看列

    select * from DEMO;--查看所有列;
    select * from user_tab_columns a where a.TABLE_NAME='DEMO';--查看每个列的列信息;

C.【评论操作】comment

1.新增评论

    comment on table DEMO is '模板表';--给表添加评论
    comment on column Demo.id - DEMO is '主键';
    comment on column DEMO.age is '年龄';
    comment on column DEMO.name is '名字';

--2.删除评论

--?

--3.修改评论

--?

--4.查看评论

select * from user_tab_comments a where a.TABLE_NAME ='DEMO';
select * from user_col_comments a where a.TABLE_NAME='DEMO';

D.【序列操作】sequence

以下仅仅简单介绍序列的基本使用方法,如果想了解更多,请看我的这篇文章

1.新增序列sequence

    create sequence DEMO_SEQ 
    minvalue 1
    maxvalue 9999999
    start with 1
    increment by 1
    cache 20;

--2.删除序列

drop sequence DEMO_SEQ;

--3.修改序列

--?

--4.查看序列

    select * from ALL_SEQUENCES a where a.SEQUENCE_NAME ='DEMO_SEQ';

1.欢迎关注我的微信公众号:幕桥社区

df89c533c5fa3bf2bcdc28a3d446ce3f.png

2.CSDN博客:https://blog.csdn.net/River_Continent

3.知乎地址:知乎用户

4.简书地址:ahtzc2017 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值