Oracle基本操作(学习笔记)

如有不对,敬请指出,谢谢!

 

all_tables     显示用户有权限看到的所有的表,包括系统表

dba_tables   是管理员可以看到的数据库中所有的表

user_tables  是当前用户的所有表,用这个可以缩小查找的范围

 

获取实例名:select instance_name from v$instance;

如果知道表所在的用户可以:select * from all_tables where owner='用户名'

如果知道字段的名称可以:select * from all_tab_columns where owner='用户' and column_name='字段名'

查看当前用户:show user;

查看表结构:desc 表名;

查看当前数据库实例:show parameter instance_name;

查看当前登录的用户的表:  select table_name from user_tables;

查询表空间中数据文件具体位置:select name from v$datafile

查询表空间中数据文件具体位置和文件名,表空间名等:Select * from DBA_DATA_FILES;

update 和 insert 操作后 输入commit 进行保存;

创建用户

  1.首先需要使用system用户创建表空间

    create tablespace 表空间名 datafile 'D:\oracle\product\10.2.0\oradata\oracle\空间名.dbf' size 200M;

    注:datafile 后面是表空间的物理储存路径,size为一次扩展的存错空间大小,当空间不足时再扩展一次存储空间,

   2.创建用户

    create user 用户名 identified by 密码;

  3..默认情况下用户创建好后系统会默认给该用户分配一个表空间(users)

    查询用户所在空间

    select username,default_tablespace from dba_users;  

  4.创建表空间后,还需要将表空间分配给用户.

    alter user 用户名 default tablespace 空间名;  

  5.给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限

    grant create session,create table,create view,create sequence,unlimited tablespace to 用户名;

  6.给用户分配了权限之后我们就可以用jeetop用户来登录了.

    conn 用户名/密码;

导入dmp文件

  如上述操作后,不能直接导入文件,再次授权;

  grant dba to 用户名;

  imp 用户名/密码@orcl名 file=文件路径 full=y;

 

oracle表操作

创建表

1

create table tablename(
id number(2) primary key,
name varchar(10) not null,
sex char(5) check(sex='man' or sex='women'),
tel number(11) unique,
address varchar(30) default 'beijing'
);

 
 

 常见约束:references  -- 外键引用其他的表

  单行添加 

    insert into 表名 (

      字段1,字段2,日期)

     values(

      添加1,添加2,(to_date('2012/10/22','yyyy/mm/dd'))
    );

  多行添加

    INSERT ALL
      INTO mytable (字段1,字段2, 字段3) VALUES (添加1, 添加2, 添加3)
      INTO mytable (字段1, 字段2, 字段3) VALUES (添加1, 添加2, 添加3)
      INTO mytable (字段1, 字段2, 字段3) VALUES (添加1, 添加2, 添加3)
    SELECT * FROM dual;

  delete from 表名 where 条件

 

  Update 表名
    Set 字段名=修改的值,字段名=修改的值,
  Where 条件;

 

  select * from dual
  在Oracle数据库内有一种特殊的表Dual。Dual表是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select中。Dual表由Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2(1)类型,有一行值X。从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
用途
  1、select计算常量表达式、伪列等值
  oracle内部处理使它只返回一行数据,而使用其它表时可能返回多个数据行。
  2、查看当前用户
  select user from dual;
  select count(*) from dual;
  3、用做计算器
  select 7*9*10-10 from dual;
  4、调用系统函数
  (1)获得当前系统时间
   select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
  (2)获得主机名
   select sys_context('userenv','terminal') from dual;
  (3)获得当前locale
   select sys_context('userenv','language') from dual;
  (4)获得一个随机数
   select DBMS_RANDOM.random from dual;
  5、查看序列值
  (1)创建序列aaa 以1开始,每次加1
   create sequence aaa increment by 1 start with 1;
  (2)获得序列aaa 的下一个序列值
   select aaa.nextval from dual;
  (3)获得序列aaa 的当前序列值
   select aaa.currval from dual;

 

转载于:https://www.cnblogs.com/zhang20190701/p/11498253.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值