查询一个表是否存在
select * from user_tables t where table_name= upper('TblName')
查询一个表中是否存在某个特定字段
SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'TblName' and column_name = 'column_name'
修改表,添加字段并指定默认值
alter table AFFICHE_ABNOPER add instime NUMBER(12) DEFAULT 0
alter table AFFICHE_ABNOPER add instime TIMESTAMP DEFAULT SYSTIMESTAMP//创建表字段,并指定默认时间戳
给字段增加备注说明(表名.字段名)
comment on column AFFICHE_ABNOPER.INSTIME is '插入时间'
修改表字段名称(INSTIME为旧字段名称,INSERTTIME为新字段名称)
alter table AFFICHE_ABNOPER rename column INSTIME to INSERTTIME
修改表字段类型
alter table AFFICHE_ABNOPER modify (instime varchar2(50))
alter table AFFICHE_ABNOPER modify(instime number(10))
alter table AFFICHE_ABNOPER modify(instime date default SYSDATE)//修改字段为date类型,并指定默认值为系统当前时间
删除表字段(INSERTTIME要删除的字段名称)
alter table AFFICHE_ABNOPER drop column INSERTTIME
查询用户下所有数据表
select table_name from user_tables; //当前用户拥有的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表
select table_name from dba_tables where owner='用户名';//这种最实用
如:
select table_name from dba_tables where owner='DLSJZ'
select * from all_tab_comments where owner ='DLSJZ'
查询数据表的所有字段信息
SELECT atc.TABLE_NAME,atc.COLUMN_NAME,atc.DATA_TYPE,atc.DATA_LENGTH, atc.NULLABLE,acc.COMMENTS FROMALL_TAB_COLUMNS atcLEFT JOIN ALL_COL_COMMENTS acc ON (atc.TABLE_NAME = acc.TABLE_NAME AND atc.OWNER = acc.OWNER AND atc.COLUMN_NAME = acc.COLUMN_NAME) WHERE 1 = 1 AND atc. TABLE_NAME = 'AFFICHE_ABNOPER' AND atc.OWNER = 'DLSJZ'
获取表上所有触法器
select trigger_name from all_triggers where table_name='XXX'