oracle中更改表名语句,转:取Oracle 表名 字段名 注释等实用语句

2022-08-29 13:53:55 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1、查找表的所有索引(包括索引名,类型,构成列):

select t.*,i.index_type fromuser_ind_columns t,user_indexes i

where t.index_name = i.index_name andt.table_name = i.table_name

and t.table_name = 要查询的表

2、查找表的主键(包括名称,构成列):

select cu.* from user_cons_columns cu, user_constraintsau where

cu.constraint_name = au.constraint_name and au.constraint_type =

‘P’and au.table_name = 要查询的表

3、查找表的唯一性约束(包括名称,构成列):

select column_name from user_cons_columnscu, user_constraints au

where cu.constraint_name = au.constraint_name andau.constraint_type

= ‘U’ and au.table_name = 要查询的表

4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):

select * from user_constraints c wherec.constraint_type = ‘R’

and c.table_name = 要查询的表

查询外键约束的列名:

select * from user_cons_columns cl where cl.constraint_name=

外键名称

查询引用表的键的列名:

select * from user_cons_columns cl wherecl.constraint_name =

外键引用表的键名

5、查询表的所有列及其属性

select t.*,c.COMMENTS from user_tab_columnst,user_col_comments c

where t.table_name = c.table_name and t.column_name =

c.column_nameand t.table_name = 要查询的表

取Oracle 表名 字段名 注释等实用语句

–查看ORACLE数据库中本用户下的所有表SELECT table_name FROM user_tables;

–查看ORACLE数据库中所有用户下的所有表select user,table_name from all_tables;

–查看ORACLE数据库中本用户下的所有列select table_name,column_name from

user_tab_columns;

–查看ORACLE数据库中本用户下的所有列select user,table_name,column_name from

all_tab_columns;

–查看ORACLE数据库中的序列号select * from user_sequences;

–上面的所有对象,都可以通过下面的SQL语句查询得到–查询所有的用户生成的ORACLE对象

SELECT * FROM user_objects;

–查看ORACLE数据库中所有表的注释select table_name,comments from

user_tab_comments;

–查看ORACLE数据库中所有列的注释select table_name,column_name,comments from

user_col_comments;

–给表加ORACLE的注释COMMENT ON TABLE aa10 IS ‘系统参数表’;

–给列加ORACLE的注释COMMENT ON COLUMN aa10.aaa100 IS

‘参数类别’;

–查看表中列的属性,包括 数据类型,是否非空等DESC aa10;

–通过系统表,查看表中列的属性,包括 数据类型,是否非空等

SELECT

table_name,COLUMN_ID,column_name,data_type,data_length,DATA_PRECISION,NULLABLE

FROM user_tab_columns

ORDER BY table_name,COLUMN_ID;

–查看所有表空间

selecttablespace_name,sum(bytes)/1024/1024 from

dba_data_filesgroup

by tablespace_name

–查看未使用表空间大小

selecttablespace_name,sum(bytes)/1024/1024 from

dba_free_space group bytablespace_name;

–查看数据库中表、索引占用的数据库空间大小 SELECT * FROM user_segments;

–查看所有表的记录数CREATE TABLE table_count(table_name VARCHAR2(50),columns

NUMBER(20));

–通过PB运行下面的语句,得到结果集,将结果集在PB下执行,最后提交select ‘insert into table_count values(”’||table_name||”’,

(select count(1)from ‘||table_name||’));//’||comments from

user_tab_comments;

–所有表的记录都在table_count了

SELECT * FROM table_count;

//将ORACLE数据库的注释同步到PB中

代码开始DELETE FROM PBCATCOL WHERE PBC_TNAM LIKE ‘%’;

DELETE FROM PBCATTBL WHERE PBT_TNAM LIKE ‘%’;

INSERT INTO PBCATTBL

( PBT_TNAM,

PBT_OWNR ,

PBT_CMNT)

SELECT ALL_TAB_COMMENTS.TABLE_NAME,

ALL_TAB_COMMENTS.OWNER,

ALL_TAB_COMMENTS.COMMENTS

FROM ALL_TAB_COMMENTS

WHERE ALL_TAB_COMMENTS.OWNER = ‘LH’

AND TABLE_NAME LIKE ‘%’;

//同步字段名

INSERT INTO PBCATCOL

( PBC_TNAM,

PBC_OWNR,

PBC_CNAM,

PBC_LABL,

PBC_CMNT,

PBC_HDR)

SELECT ALL_COL_COMMENTS.TABLE_NAME,

ALL_COL_COMMENTS.OWNER,

ALL_COL_COMMENTS.COLUMN_NAME,

ALL_COL_COMMENTS.COMMENTS ,

ALL_COL_COMMENTS.COMMENTS ,

ALL_COL_COMMENTS.COMMENTS

FROM ALL_COL_COMMENTS

WHERE ALL_COL_COMMENTS.OWNER = ‘LH’

AND TABLE_NAME LIKE ‘%’;

COMMIT;

–将ORACLE数据库的注释同步到PB中

代码结束

–将PB注释同步到ORACLE中select ‘comment on table ‘||pbt_tnam||’ is ”’||pbt_cmnt||”’;’

from pbcattblwhere pbt_tnam not like ‘PB%’

UNION

select ‘comment on column ‘||pbc_tnam||’.’||pbc_cnam||’ is

”’||pbc_cmnt||”’;’from pbcatcol where pbC_tnam not like

‘PB%’;

–查进程 select object_id,session_id,locked_mode from

v$locked_object;

selectt2.username,t2.sid,t2.serial#,t2.logon_time

from v$locked_object t1,v$session t2

where t1.session_id=t2.sid order by t2.logon_time;

–杀进程 alter system kill session ‘3,6666’;

oracle操作语句:

1.创建表

create table表名(

列名1类型,

列名2类型

);

2.修改类属性

alter table表名 modify(列名类型);

3.添加列

alter table表名 add(列名类型);

4.添加主键约束和非空约束

alter table表名 add constraint

pk_表名 primary

key(列名);

alter table表名 modify(列名 not

null);

5.删除主键约束

alter table表名 drop primary

key;

alter table表名 drop constraint

pk_表名;

6.失效约束

alter table表名 disable primary

key;

alter table表名 disable constraint

pk_表名;

7.有效约束

alter table表名 enable primary

key;

alter table表名 enable constraint

pk_表名;

8.删除列

alter table表名 drop

column列名;

9.设置某列不可用,然后删除

alter table表名 set unused(列名);

alter table表名 drop unused

columns;

10.修改表名

rename表名1

to表名2

alter表名1 rename

to表名2;

11.截断表

truncate table表名;

12.截断表保留行空间

truncate table表名 resue

storage;

13.查看表结构

desc table表名;

14.删除表

drop table表名;

15.插入记录

例:insert

into表名 values(内容1,内容2,内容3,内容4);

16.带参数对话方式插入行

例:insert

into表名

values(&列名1,&列名2);

insert

into表名 values(内容1,内容2);

17.插入某几列记录

insert into表名(列名1,列名2) values(内容1,内容2);

18.为列插入空值(其列不能为not

null)

insert into表名 values(内容1,null,null);

19.创建表(包括主键及外键设置)方法一

create table表名(

列名1类型

constraint

pk_表名 primary

key,

列名2类型

not null,

列名3类型

constraint

fk_表名

reference表名(列名),

列名3类型

constraint

ck_表名

check(列名3

in(”内容1”,”内容2”,”内容3”)));

20.查询所有行

select * from表名;

21.查询某几列

select列名1,列名2

from表名;

22.重复行消除

select distict列名

from表名;

23.where语句查询

select * from表名

where条件 order

by列名;

(注:如number类型查出自动按升序排列,如要按降序排列,则select *

from表名

where条件 order

by列名

desc;)

24.创建表,方法二

create table表名(

列名1类型

primary key,

列名2类型

not null,

列名3类型check(列名3

in(””,””,””)),

列名4类型

refernce表名(列名)

);

25.修改列=‘?’的数据

update表名 set (列=?)

where列=‘?’;

26.删除行

delete from表名

where条件;

27.事务处理

–事务处理

update表名

set列名(日期) = ”30-5月-98”

where条件;

savepoint mark1;

delete from表名

where条件;

savepoint mark2;

rollback to savepoint mark1;

rollback;

28.建立用户user1,密码为password

授予用户connect,resource的权限

connect角色用于登录

resource角色用于建表等.

connect system/manager

create user user1 identified

bypassword;

grant connect,resource to

password;

29.数据控制语言

connect scott/tiger

30.把对表1查询和修改的权限授予user1

grant select,update

on表1

to user1;

31.把对表表1中列1和列2修改的权限授予user1

grant update(列1,列2)

on表1 to

user1;

32.把对表表1查询的权限授予用户user1

并且user1用户还可以把这个权限授予别的用户(with grant

option)

grant select on表1 to user1 with grant

option;

33.从用户user1撤销对表1查询和修改的权限

revoke select,update

on表1 from user1;

0 人点赞