Oracle笔记

oracle 帐号scott被锁定 如何解锁

解决:
(1)conn sys/sys as sysdba;//以DBA的身份登录
(2)alter user scott account unlock;// 然后解锁
(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了

具体操作步骤如下:
C:> sqlplus
请输入用户名:sys
输入口令:sys as sysdba //注意:在口令这里输入的密码后面必须要跟上 as sysdba 才可以。
SQL> alter user scott account unlock;
用户已更改.
SQL> commit;
提交完成.
SQL> conn scott/tiger
更改scott口令
新口令:tiger
重新键入新口令:tiger
口令已更改
已连接。

另一种方法:你打开命令提示符,不要登录直接输入下面:
sqlplus sys/tiger as sysdba
以dba方式进入sys帐户;
alter user scott account unlock;
给scott用户解锁;


时间函数to_date
insert into stu(stuno,sname,job,mgr,hiredate,sal,comm) values(
126,'赵六','CEO',123456,to_date('2005-10-02,13:25:59','yyyy-mm-dd,hh24:mi:ss'),123456.12,123456.12);

使用子查询进行行迁移
create table stu# as select stuno,sname,mgr from stu;将stu表中的数据迁移到一个新的表中,同时创建该新的临时表stu#,通常用#号代表临时表

使用子查询完成更新
将scott的工作、工资、奖金设置为和smith的一样
update emp set(job,sal,comm)=(select job,sal,comm from emp where ename='smith') where ename='scott'

--查询和smith部门号,工作一样的员工
select * from emp where(deptno,job)=(select deptno,job from emp where ename='smith')

SQl函数
oracle数据库的强大,体现在对用户的管理,pl/sql编程,函数丰富

Oracle默认情况下是不会出现脏读的

外键指向主键列。外键可以指向unique列
先建主表,后建从表。先删从表,再删主表

check(检查)
create table user(id number primary key,sal number check(sal>1000 and sal<2000));
在往user表里插入数据的时候,sal字段必须在1000到2000之间

序列的使用。序列本来就是一个数据对象
create sequence myseq 
start with 1 
increment by 1 
minvalue 1 
maxvalue 30000 
cycle 
nocache;

创建一张表
create table test1(id number primary key,name varchar2(30));
insert into test1 values(myseq.nextval,'abc1');

索引:
主键自带索引
在大表上建索引才有意义
在where子句或是在连接条件上经常引用的列上建立索引

索引的分类:
1、单列索引
create index 索引名 on 表名(列名)
2、复合索引
create index 索引名 on 表名(列名1,列名2)

索引的缺点分析:
1、建立索引,系统要占用大约表的1.2倍的硬盘和内存来保存索引。
2、更新数据的时候,系统同时要有额外的时间来同时对索引进行更新,以维护数据和索引的一致性。
实践表明,在不恰当的使用索引的情况下,反而降低系统性能。因为大量的索引在进行插入、修改、删除操作时比没有索引话费更多的时间。
在逻辑型字段和很少查询的字段上不要建索引。
 
 

你可能感兴趣的:(笔记)