Oracle学习一

来源:互联网 发布:js获取多重标签属性值 编辑:程序博客网 时间:2024/06/15 21:22

1.登录数据库

sqlplus / as sysdbasqlplus sys/123456 as sysdbasqlplus scott/123456conn scott/123456conn / as sysdba

2.查看用户

show usercreate user haha identified by 123456;grant CREATE SESSION to haha;select username from user_users;select username from dba_users;——(限dba)select username from all_users;select count(*) from all_tables;


select count(*) from user_tables;select table_name from user_tables;select count(*) from all_tables;——(查看该用户有权限操作和自己所拥有的表)


3.创建用户

create user username identified by password;

create user haha identified by 123456;grant CREATE SESSION to haha;

4.修改密码

(1).alter user username identified by newpass;

alter user haha identified by 112233;

(2).password username


5.锁定用户

SQL> alter user username account lock;SQL> alter user username account unlock;


动态性能视图

以v$ 开头的叫 动态性能视图【v$database】

什么是视图?
视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它不可以对表里面的数据进行修改。
视图基于的表称为基表。视图是存储在数据字典里的一条select语句。
通过创建视图可以提取表中部分数据的逻辑上的集合或组合。 


视图的优点: 
1.对数据库的访问,因为视图可以有选择性的选取目标表里的一部分。 
2.用户通过简单的查询可以从复杂查询中得到结果。 
3.维护数据的独立性,视图可从多个表检索数据。 
4.对于相同的数据可产生不同的视图。 


视图中不存放数据,视图就好比对表的一个映射,数据还存放在原表中,视图查出的数据,定位的记录还在原表中,所以视图不能提高查询速度【可以画个图】


视图作用:
create table test as select * from all_objects;select count(*) from test;desc test;select owner,object_id from test where object_id<1000;create view v_t1 as select owner,object_id from test where object_id<1000;create view v_t2 as select owner,object_id from test where object_id<1000;create view v_t3 as select * from v_t1;select * from v_t1;


   1、方便查询【查询:emp和dept表,多查出点字段,比较长   select a.ename,b.dname from emp a,dept b where a.deptno=b.deptno and a.ename='FORD'】
   2、安全隐藏原表【源表名,不想让别人知道】



查看实例名
select instance_name from v$instance;

查看服务器状态
select open_mode from v$database; 


数据的提交和回退
commit 提交数据(将数据写到日志里并同步到数据文件)(oracle默认为不提交)
rollback 回退就是取消所有操作,此命令只对还未commit的操作有效


查看数据字典

select count(*) from dict; 

SQL> select * from dict where table_name='USER_TABLES';【注意条件中值的大写】
(列为table_name 其实现实的是数据字典对象名)

dict_columns 记录着字典视图列的说明
SQL> select column_name,comments from dict_columns where table_name='USER_TABLES';


脚本执行
[oracle@sq ~]$ vi a.sql
create table hehe(id int,name varchar2(10));


SQL> @/home/oracle/a.sql


0 0
原创粉丝点击