一、问题
在开发中,会经常遇到对表(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.欢迎关注我的微信公众号:幕桥社区
2.CSDN博客:https://blog.csdn.net/River_Continent
3.知乎地址:知乎用户
4.简书地址:ahtzc2017 - 简书