Oracle常用

一、常用Sql

1、创建用户

  1. create tablespace whc_tbs datafile 'E:\oracle\oradata\whcdb\whc.dbf' size 100M;   

  2. create user whc identified by whc default tablespace whc_tbs;     

  3. grant connect,resource,dba to whc;    

2、删除数据文件(dbf文件)

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

3、Oracle减少null

表中最好别有null记录,这会引起全文扫描,建议改成0代替。

4、查询字段类型

select * from cols where  table_name='TBL_SYS_TREE_CODE';

5、count(*)会查询出所有记录(包括null);select(字段)也会查询出所有记录,但是不包括null

6、排序后,查询出一条记录

select CODE_ID from (
select CODE_ID, rownum from TBL_SYS_TREE_CODE  where PARENT_ID is null  order by last_modify_time desc)
where rownum=1

7、系统表

--USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息
--ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息
--DBA_*:有关整个数据库中对象的信息
--查询用户信息
select * from dba_users;//查询所有用户
select * from all_users;//查询所有用户,得到的信息比较少
select * from user_users;//用户自己的信息

select * from dba_sys_privs;//查询权限
select * from all_sys_privs;//此表不存在
select * from user_sys_privs;//查询用户的权限

select * from dba_tab_privs where owner = 'holly';
select * from all_all_tables;//查询所有的表

二、Oracle更一个字段

更改某个字段的类型

有一个表名为tb,字段段名为name,数据类型nchar(20)。

1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
alter table tb modify (name nvarchar2(20));

2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
alter table tb modify (name nvarchar2(20));

3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题

/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;

/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);

/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);

/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;

总结:
1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。

三、导入导出

导出:Tools-Export Tables

1、导出dmp格式

2、导出sql格式

3、导出pie格式

导入:Tools-Import Tables

四、Oracle添加一个连接标识

1、Oracle在本机的服务。也就是在安装Oracle服务过程中的唯一标识

下图XE就是本机的唯一标识。

OracleServiceXE、OracleXETNSListener是Oracle必须的两个服务

2、tnsnames.ora文件

如果想要为本机的服务添加一个连接

Holly =

  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))//ip、端口
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =XE)//Oracle服务的唯一标识
    )
  )

 


你可能感兴趣的:(Oracle常用)