Oracle

Win键+R进入后输入cmd,sqlplus / as sysdba        //以sys登录(sysdba为超级用户)

alter user 用户名 account unlock;        //解除该用户锁定

alter user 用户名 identified 密码;            //修改密码,然后拿用户名和修改的密码进行登录就行了

Oracle有3个默认的用户名和密码-----最好解锁后改一下密码

用户名                 密码

sys                      change_on_install

system                manager

scott                    tiger

//system以dba的身份登录

    sqlplus system/root as sysdba


通过profile口令管理限制用户恶意登录

//创建输入错误3次后账户锁定2天

    create profile profilename limit failed_login_attempts 3 password_lock_time 2;

//执行profilename到指定用户

    alter user username profile profilename;

//解锁指定用户

    alter user username account unlock;

//删除profile

    drop profile profilename(profile文件名) cascade;


oracle数据库启动流程

windows下:

1)lsnrctl start (启动监听)

2)oradim -startup -sid 数据库实例名

Linux下:

1)lsnctl start (启动监听)

2)sqlplus sys/change_on_install as sysdba(以dba身份登录,在Oracle10g后可以这样写)

      sqlplus /nolog

3)startup


设定不以操作系统验证用户登录

    找到Oracle的按照目录下的sqlnet.ora文件(一般存在network\admin目录下)

密码忘记后重置system密码

    orapwd Oracle安装完整路径名称里database下的pwdorcl.ora password=自己的密码 entires=10


Oracle常用数据类型

三大类:文本、数值、时间

1.char(size)

    存放定长字符串,最大存放200个字符。

    例如char(32),存放32个字符(超出不行,不够32位用空格补齐)

2.varchar2(size)

    变长,最大可以存储4000个字符   

3.nchar(size)和nvarchar2(size)无论是英文还是汉字,都以一个字符存放数据    

    因为nchar是一个空间占两个字节,而char是一个空间一个字节

4.clob(size)变长

    说明:字符型大对象(character large object),最大8TB,适合大数据

5.blob(size)变长    

    说明:二进制数据(binary large object),可以存放图片和声音,最大8TB,如何增强安全性可以把图片放到数据库中,但是实际很少

6.number(p,s)变长------重点

   1)可以存放整数,也可以存放小数

   2)P标识有效位,S表示小数位;范围:p[1,38],s[-84,127]

         Number可以表示的数值范围:-1.0e-130~~1.0e+126

         占用机器码的空间是1~22bytes

         Num原则四舍五入

         如果项目明确数字精确到多少位,number类型应该有有效位和小数位;不明确就直接number

7.Date

    格式:dd-mm--yyyy

8.timestamp      

    当某条数据更新时,timestamp也会更新


Oracle回滚点的使用 

保存回滚点:savepoint pointname                


oracle表名不区分大小写,列名不区分大小写,只有字段的值区分大小写


oracle查询语法

处理空值用nvl(colname,0);    mysql用ifnull(colname,0);

oracle字符转换函数to_char(colname,'yyyy-mm-dd')

    //查询1999年入职的员工
    select * from emp where to_char(hiredate,'yyyy')='1999';

    //查询第三个字母为S的员工信息
    select * from emp where ename like '__S%;

    //满足工资高于4000或岗位为经理的职员,同时满足他们名字以J开头的人

    select * from emp where (sal>4000 or job='manager') and (ename like 'J%');

    //查看员工年工资

    select ename,sal*13+nvl(comm,0)*13 as "year_income" from emp;

    //筛选工资最高的员工名字

    select ename from emp where sal=(select max(sal) from emp);


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容